本文介紹如何禁止 Microsoft Windows NT 系統管理員在 SQL Server 中擁有系統管理員 (sa) 許可權。在預設情況下,Microsoft SQL Server 安裝程式會建立“BUILTIN/Administrators”登入,它將對本機系統管理員群組中的任何帳戶授予系統管理員 (sa) 許可權。
在某些情況下,您可能不想讓 Microsoft Windows NT 系統管理員對 SQL Server 擁有此類存取權限。
在運行 SQL Server 的獨立伺服器上,您可以通過從 SQL Server 刪除“BUILTIN/Administrators”登入來限制此類存取權限。
有關其他資訊,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
237604 (http://support.microsoft.com/kb/237604/EN-US/ ) PRB:SQL Server Agent無法啟動並顯示錯誤 18456 291255 (http://support.microsoft.com/kb/291255/EN-US/ ) BUG:IsAlive 檢查不在 BUILTIN/Administrators 帳戶的上下文中運行 295034 (http://support.microsoft.com/kb/295034/EN-US/ ) FIX:如果刪除了 BUILTIN/Administrators 登入,Microsoft Search 服務可能導致 CPU 使用率達到 100% 274446 (http://support.microsoft.com/kb/274446/EN-US/ ) INF:升級到為所有非 SQL Server 2000 虛擬伺服器推薦的 SQL Server 2000 容錯移轉解決方案
在群集 SQL Server 上,刪除“BUILTIN/Administrators”登入可能導致出現問題。如果對叢集伺服器刪除“BUILTIN/Administrators”登入,SQL Server 資源將進入一種聯機掛起狀態,而最終將失敗。然而,如果您在刪除“BUILTIN/Administrators”登入後運行“容錯移轉叢集嚮導”,進程將成功結束,因為“容錯移轉叢集嚮導”將為需要存取權限的帳戶顯式添加一個 SQL Server 登入。
SQL Server 6.5 和 SQL Server 7.0
要將 Windows NT 監管人存取限制為 SQL Server 群集上的系統管理員 (sa),請執行下列步驟:
- 將正在用於叢集服務的帳戶作為 SQL Server 登入顯式添加。您必須為此登入分配系統管理員角色。
注意 如果運行 SQL Server 的伺服器脫離群集然後又加入群集,則您必須重複此過程。
- 在 SQL Server 容錯移轉叢集嚮導成功地將 SQL Server 安裝加入群集之後,從 SQL Server 刪除“BUILTIN/Administrators”登入。
SQL Server 2000
要將 Windows NT 監管人存取限制為 SQL Server 群集上的系統管理員 (sa),請執行下列步驟:
- 將正在用於叢集服務的帳戶顯式添加為 SQL Server 登入。您必須為此登入分配系統管理員角色。如果要對群集使用全文檢索搜尋,必須將 [NT Authority/System] 帳戶添加到伺服器 sysadmin 組。例如:
Grant [NT Authority/System] a logon to SQL Server:EXEC sp_grantlogin [NT Authority/System]Add that account to the sysadmins role:EXEC sp_addsrvrolemember @loginame = [NT Authority/System] , @rolename = 'sysadmin'
- 安裝虛擬伺服器後,從 SQL Server 刪除“BUILTIN/Administrators”登入。