在将 SQL Server 身份验证模式更改为混合模式之前,我需要检查它是否已经具有混合模式或只有 windows 身份验证模式。
如何检查服务器是否具有混合模式?
在将 SQL Server 身份验证模式更改为混合模式之前,我需要检查它是否已经具有混合模式或只有 windows 身份验证模式。
如何检查服务器是否具有混合模式?
在服务器上的注册表中有一个显示身份验证模式的键。您可以检查注册表项或执行此:
Exec xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'
值 2 是混合模式,1 是 windows 模式
使用 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]
或者
你可以查询注册表
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= 混合模式