kha*_*han 9 authentication security sql-server sql-server-2008-r2 logins
我无法使用 SQL Server 身份验证登录到 SQL Server 2008。
我只能使用 Windows 身份验证模式登录。
我在安装 SQL Server 2008 R2 时只选择了默认值。
Aar*_*and 14
你有没有看哪里?右键单击服务器并选择属性,然后选择安全屏幕。
然后,使用您的 Windows auth admin 帐户登录,并为saSQL auth 帐户设置密码。
ALTER LOGIN sa WITH PASSWORD = 'strong password here';
Run Code Online (Sandbox Code Playgroud)
您的服务器可能已配置为仅在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'
Run Code Online (Sandbox Code Playgroud)
LoginMode 2如果返回的值为SQL Server 和 Windows 身份验证模式,则已激活。(有关如何更改此设置的详细信息,请参阅步骤 2。 )
如果返回的值为 则LoginMode 1Windows身份验证模式已激活。(有关如何更改此设置的更多详细信息,请参阅步骤 1) 无法使用纯 SQL Server 登录名进行登录。
如果您的实例已配置为仅使用Windows 身份验证模式,则您必须打开SQL Server 和 Windows 身份验证模式并重新启动服务器。请按照以下简单步骤操作:
USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO
Run Code Online (Sandbox Code Playgroud)
将属性窗口的安全部分中的设置更改为SQL Server 和 Windows 身份验证模式。
(可以通过SQLCMD模式下的SQL脚本来实现)
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'
Run Code Online (Sandbox Code Playgroud)
右键单击您的 SQL Server 实例,然后从上下文菜单中选择“重新启动” :
通过发出以下命令验证您的实例是否在SQL Server 和 Windows 身份验证模式下运行:
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'
Run Code Online (Sandbox Code Playgroud)
您应该收到一个LoginMode 2.
验证是否为SQL Server 和 Windows 身份验证模式选择了单选按钮。
如果您的sa帐户已被禁用,则还请按照步骤 2进行操作。否则你就完了。
如果sa帐户已停用,只需再次启用 SQL Server 帐户即可。这可以通过以下脚本来实现:
USE [master]
GO
ALTER LOGIN [sa] WITH PASSWORD=N'<your password>'
GO
ALTER LOGIN [sa] ENABLE
GO
Run Code Online (Sandbox Code Playgroud)
...或通过 SSMS。