搜尋本站文章

2012-10-09

SQL Server sa 帳戶:不能刪除(DROP)、不能拒絕(DENY)、可以停用(DISABLE)、可以改名(RENAME)


適用版本:SQL Server 2005、2008、2008 R2、2012。

示範環境:SQL Server 2012。

SQL Server sa 帳戶,具備以下的特性:

(1) 不能刪除(DROP)。
(2) 不能拒絕(DENY)。

(3) 可以停用(DISABLE)。
(4) 可以改名(RENAME)。



(1) 不能刪除(DROP)

錯誤訊息:

訊息 15405,層級 16,狀態 1,行 3
無法使用特殊主體 'sa'。
--
訊息 15405,層級 16,狀態 1,行 1
Cannot use the special principal 'sa'.
--
無法使用特殊主體 'sa'。 (Microsoft SQL Server, 錯誤: 15405)


-- 01_不能刪除(DROP)



-- 02_不能刪除(DROP)





(2) 不能拒絕(DENY)

錯誤訊息:

無法授與、拒絕或撤銷 sa、dbo、實體擁有者、information_schema、sys 或自己的權限。
--
Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself.



-- 03_不能拒絕(DENY)



-- 04_不能拒絕(DENY)





(3) 可以停用(DISABLE)

-- 05_可以停用(DISABLE)



-- 06_可以停用(DISABLE)



-- 07_已經停用(DISABLE)






(4) 可以改名(RENAME)

-- 08_可以改名(RENAME)



-- 09_可以改名(RENAME)






認識 sa (System Administrator) 帳戶

sa 帳戶是隸屬於 sysadmin 固定伺服器層級角色內。

系統管理員 (sysadmin) 固定伺服器角色的成員可以在伺服器中執行所有活動。

SQL Server sa 登入為伺服器層級的主體。
根據預設,安裝執行個體時會建立它。

從 SQL Server 2005 開始,sa 的預設資料庫是 master。這是和舊版 SQL Server 不同的一項行為變更。

如果您在安裝期間選取混合模式驗證,就必須為名為 sa 的內建 SQL Server 系統管理員帳戶提供並確認增強式密碼。
sa 帳戶會使用 SQL Server 驗證進行連接。

如果您在安裝期間選取 Windows 驗證,安裝程式就會針對 SQL Server 驗證建立 sa 帳戶,但是此帳戶是停用的。

如果您之後變更為混合模式驗證,而且想要使用 sa 帳戶,就必須啟用此帳戶。
任何 Windows 或 SQL Server 帳戶都可以設定為系統管理員。

由於 sa 帳戶是已知的而且經常成為惡意使用者的攻擊目標,因此除非您的應用程式需要 sa 帳戶,否則請勿啟用此帳戶。
請勿針對 sa 帳戶設定弱式或空白密碼,請確認使用增強式密碼。




參考資料:

伺服器層級角色
http://msdn.microsoft.com/zh-tw/library/ms188659.aspx

主體 (Database Engine)
http://msdn.microsoft.com/zh-tw/library/ms181127.aspx

選擇驗證模式
http://msdn.microsoft.com/zh-tw/library/ms144284.aspx