在SQL Server 7.0中,該鍵為:
HKEY_LOCAL_MacHINE\SOFTWARE\Microsoft \MSSQLServer\MSSQLServer\LoginMode
在SQL Server 2000中,該鍵為:
HKEY_LOCAL_MacHINE\SOFTWARE\Microsoft\
MicrosoftSQLServer\\MSSQLServer\LoginMode
“LoginMode”的值為0表示只進行Windows 的身份驗證,為1表示驗證模式為混合模式。在您把自己關在外面之後,您可以把“LoginMode”改為1,重新啟動SQL Server,然後以sa(system administrator)身份登錄,輸入您知道的sa密碼即可。
以下關於SQL Server的角色成員的信息可能會幫助您理解為什麼您會把自己關在SQLServer外面。在您安裝SQL Server 2000 或 7.0的時候,安裝進程自動地為“BUILTIN\Administrators”創建一個登錄帳號,該帳號為“sysadmin”角色成員。“BUILTIN\Administrators”登錄帳號代表了Microsoft Windows® 2000 或Microsoft Windows NT® server 上的系統管理員本地組。 Windows 2000 或 Windows NT的 “Administrator”帳戶是系統管理員本地組的成員。此外,如果您的服務器是一個域的成員(包括Windows 2000 的域和Windows NT 4.0的域),“Domain Admins”全局組也會成為本地系統管理員組的成員。這意味著系統管理員本地組的所有成員都會自動地獲得SQL Server上的“sysadmin”權限。
為了加強您的SQL Server的安全性,您可能更願意創建您自己的組並授予它“sysadmin”權限,然後刪除“BUILTIN\Administrators”登錄帳號,或者至少從“sysadmin”“sysadmin”的身份登錄到SQL Server上,除非按照我上面所說的方法修改注冊表鍵值。正確的順序是:
創建Windows 2000 或者 Windows NT 用戶組並為組分配成員。例如:創建一個叫做“SQLAdmins”的組。
把“SQLAdmins”映射為SQL Server裡的一個用Windows身份驗證方式驗證登錄的帳戶,並把該帳戶分派到“sysadmin”服務器角色。
刪除“BUILTIN\Administrators”登錄帳戶或者把它從“sysadmin”服務器角色中刪除。
把SQL Server的身份驗證模式改為“僅進行Windows身份驗證”。
重新啟動SQL Server 以反映身份驗證模式的變化。
注意: 如果您以下面的這種錯誤順序實施這些步驟:刪除“BUILTIN\Administrators”登錄帳戶,改變SQL Server 的身份驗證模式為“僅進行Windows身份驗證”,然後重新啟動SQL Server,那麼“sa” 帳戶將被禁用,並且因為沒有定義其它Windows身份驗證登錄帳戶而無法進入SQL Server。為了避免這種情況發生,請以正確的順序實施這些安全措施。