無法使用 SA 和 SQL 身份驗證登錄
我無法使用 SQL Server 身份驗證登錄到 SQL Server 2008。
我只能使用 Windows 身份驗證模式登錄。
我在安裝 SQL Server 2008 R2 時只選擇了預設值。
你有沒有看任何地方?右鍵點擊伺服器並選擇“屬性”,然後選擇“安全”螢幕。
然後,使用您的 Windows 身份驗證管理員帳戶登錄,並設置
sa
SQL 身份驗證帳戶的密碼。ALTER LOGIN sa WITH PASSWORD = 'strong password here';
哪種認證模式?
您的伺服器可能已配置為僅在Windows 身份驗證模式下執行。這可以通過在 SQL Server Management Studio 中打開 SQL Server 實例的屬性並查看安全部分來檢查:
或者您可以在使用 Windows 帳戶登錄後執行以下 SQL Server 語句:
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'
LoginMode 2
如果返回的值為SQL Server 和 Windows 身份驗證模式,則已啟動。(有關如何更改的詳細資訊,請參見步驟 2。 )如果返回的值為Windows 身份驗證模式
LoginMode 1
,則已啟動。(有關如何更改此設置的更多詳細資訊,請參閱步驟 1。)無法使用純 SQL Server 登錄名登錄。步驟 1. - 更改身份驗證模式
如果您的實例已配置為僅使用Windows 身份驗證模式,則您必須打開SQL Server 和 Windows 身份驗證模式並重新啟動伺服器。請按照以下簡單步驟操作:
1.改變認證方式
SQL 腳本
USE [master] GO EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2 GO
SQL Server 管理工作室 (SSMS)
將屬性視窗的安全部分中的設置更改為SQL Server 和 Windows 身份驗證模式。
2.重啟SQL Server實例
SQL 腳本
(可以通過SQLCMD 模式下的 SQL 腳本實現)
-- Connect to your instance -- (Replace <instancename> with your instance's name :connect <instancename> -- Stop your SQL Server instance -- (Replace SQLSERVERAGENT with the name of your service) !! net stop SQLSERVERAGENT -- (Replace MSSQLServer with the name of your service) !! net stop MSSQLServer -- Start your SQL Server instance -- (Replace SQLSERVERAGENT with the name of your service) !! net start MSSQLServer -- (Replace SQLSERVERAGENT with the name of your service) !! net start SQLSERVERAGENT :connect localhost
SQL Server 管理工作室 (SSMS)
右鍵點擊您的 SQL Server 實例並從上下文菜單中選擇重新啟動:
3.驗證設置
SQL 腳本
通過發出以下命令,驗證您的實例是否在SQL Server 和 Windows 身份驗證模式下執行:
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'
您應該收到一個
LoginMode 2
.SQL Server 管理工作室 (SSMS)
驗證是否為SQL Server 和 Windows 身份驗證模式選擇了單選按鈕。
如果您的sa帳戶已被禁用,請同時執行第 2 步。否則你就完了。
步驟 2. 啟用 sa 帳戶
在停用sa帳戶的情況下,只需繼續並再次啟用 SQL Server 帳戶。這可以通過以下腳本實現:
USE [master] GO ALTER LOGIN [sa] WITH PASSWORD=N'<your password>' GO ALTER LOGIN [sa] ENABLE GO
…或通過 SSMS。