我在Windows 8企業版中將SQL Server 2012作爲獨立實例安裝。它在混合模式下運行。當前登錄的帳戶是本地MACHINE \ Administrators的成員,本地BUILTIN \ Administrators組在sysadmin角色中。爲了更好的衡量,當前用戶還在MACHINE \ SQLAdmins組中,該組也處於sysadmin角色。如何在不使用RunAs的情況下使用Windows身份驗證和SSMS?
當我從快捷方式啓動SQL Server Management Studio(SSMS)時,我無法使用Windows身份驗證。我得到以下錯誤:
TITLE: Connect to Server
Cannot connect to INSTANCENAME.
ADDITIONAL INFORMATION:
Login failed for user 'MACHINE\user'. (Microsoft SQL Server, Error: 18456)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=18456&LinkId=20476
事實上,如果我從一個快捷方式啓動LinqPad,我無法連接到使用依賴於Windows身份驗證連接字符串的服務器。
但是,如果我使用RunAs Administrator以提升的特權運行SSMS或LinqPad,則可以使用Windows身份驗證,並且體驗如預期。
或者,我可以將RunAs命令包含到SSMS快捷方式中,如下所示。
C:\Windows\System32\runas.exe /USER:MACHINE\user "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"
令人驚訝的是,雙擊該快捷方式會提示我輸入當前用戶的密碼。但是,一旦發生重新認證,SSMS將允許當前用戶的Windows身份驗證。
問題是,當我雙擊快捷方式並最終運行LinqPad或SSMS或其他任何通過Windows身份驗證連接到數據庫的應用程序時,如何在不提升我的權限的情況下運行SSMS?
您是否已將用戶帳戶添加到「sysadmin」角色或「machine \ administrators'組中?如果是後者,當你升高時,你只是該組的成員。 – Andomar