有没有办法在不使用SQL Server Management Studio的情况下更改SQL Server 2008或2012中的授权模式?
答案 0 :(得分:15)
以下是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.
答案 1 :(得分:0)
我发现,如果在64位Windows上安装了32位SQL Express(就我而言),则reg路径必须为HKEY_LOCAL_MACHINE \ SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\MSSQLServer
。此处的更改是Wow6432Node
键。