在将SQL Server身份验证模式更改为混合模式之前,我需要检查它是否已经是混合模式还是只有Windows身份验证模式。
如何检查服务器是否具有混合模式?
答案 0 :(得分:1)
在服务器上的注册表中是显示身份验证模式的密钥。您可以检查注册表项或执行此命令:
Exec xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'
值2是混合模式,1是窗口模式
答案 1 :(得分:0)
使用xp_instance_regread系统过程,我们可以读取注册表值
DECLARE @AuthenticationMode INT
EXEC master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE',
N'Software\Microsoft\MSSQLServer\MSSQLServer',
N'LoginMode', @AuthenticationMode OUTPUT
SELECT CASE @AuthenticationMode
WHEN 1 THEN 'Windows Authentication'
WHEN 2 THEN 'Windows and SQL Server Authentication'
ELSE 'Unknown'
END as [Authentication Mode]
OR
您可以查询注册表
DECLARE @LoginMode int
EXEC master..xp_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\',
@value_name = 'LoginMode',
@value = @LoginMode output
PRINT @LoginMode
1 = SQL 2 =混合模式