2012-08-15 33 views

回答

12

下面是Management Studio中確實從混合更改身份驗證模式僅適用於Windows:

EXEC xp_instance_regwrite 
    N'HKEY_LOCAL_MACHINE', 
    N'Software\Microsoft\MSSQLServer\MSSQLServer', 
    N'LoginMode', 
    REG_DWORD, 
    1; 

從Windows只回混合:

EXEC xp_instance_regwrite 
    N'HKEY_LOCAL_MACHINE', 
    N'Software\Microsoft\MSSQLServer\MSSQLServer', 
    N'LoginMode', 
    REG_DWORD, 
    2; -- only difference is right here 

您還可以從相同的命令可連接到SQL Server的各種源,如SQLCMD,PowerShell,VBScript,C#等。或者,您可以直接登錄到服務器,導航到該註冊表項,然後手動更改該值(如建議的@marc_s)。

請注意,在所有情況下,您必須重新啓動SQL Server才能使更改生效。您可以在重新啓動的新錯誤日誌中查看前幾個條目,以驗證身份驗證模式是否正確。它會說(混合):

date/time Server Authentication Mode is MIXED. 
+0

注:對於命名實例,這值位於'HKLM \ Software \ Microsoft \ Microsoft SQL Server \ {Instance Name} \ MSSQLServer \ LoginMode'。 – Mitch 2015-10-23 17:43:01

+2

@Mitch,如果你正在自己的註冊表中挖掘,那是真的。然而,當使用'xp_instance_regwrite'時,其重點在於它會將'... \ MSSQLServer \ MSSQLServer \ ...'翻譯爲特定於實例的分支,例如, '... \ Microsoft SQL Server \ {實例名稱} \ MSSQLServer \ ...' - 如果您遇到無法正常工作的情況,請演示。 – 2015-10-23 18:49:33

+0

嗯。我沒有意識到'xp_instance_regwrite'會修正路徑。謝謝。 – Mitch 2015-10-23 19:01:58

相關問題