如何将SQL Server Windows模式更改为混合模式(SQL Server 2008)?

74

我已经安装了SQL Server 2008 Express Edition,但是由于错误,我一直保持着Windows身份验证模式。

现在我想将其更改为SQL Server混合模式。我该怎么做?

7个回答

76

非常感谢。终于通过这个链接取得了成功。 - priyanka.sarkar
2
@Sevtlozer,我也使用同样的链接,在我的系统上也能够使用SQL Server身份验证连接,但我无法从网络计算机连接数据库服务器。我认为我的SQL Server代理服务没有启动。我无法启动该服务,请给我建议。 - Sushant Bhatnagar
@Sushant 网络访问在 sqlexpress 中默认是禁用的,请参阅 msdn 以了解如何启用。 - Bob Vale
如果无法登录服务器,则此方法不起作用。 - Roy B
哇塞!!!花了好几天的时间...上面的链接解决了我的问题。我一直在尝试通过Windows身份验证进行连接,但遇到了很多异常情况。但是这个链接让我感到非常开心。非常感谢@Svetlozar Angelov。 - Ram
当我尝试通过选择 SQL 服务器身份验证来更改密码时,我收到以下错误**无法更改登录名“sa”,因为它不存在或您没有权限。(.Net SqlClient Data Provider)**。 - observer

29

我在尝试使用 SQL Server 2012 进行其他尝试时没有成功。我的做法是使用 SQL Server Management Studio 生成一个变更值的脚本,得到了以下结果:

USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO

接着,我使用以下命令启用了sa帐户:

ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '<strongPasswordHere>' ;
GO

然后,我重新启动了服务,一切都正常工作了!


1
感谢这个提示。 - John-Philip
1
不错 - 尤其是关于注册表更改的命令行调用。谢谢。 - Jeremy McGee

15

13
  1. 打开 SQL Server Management Studio 并连接到您的数据库服务器。
  2. 右键单击数据库服务器,然后单击“属性”。
  3. 将服务器身份验证设置为“SQL Server 和 Windows 身份验证模式”。

当我尝试通过选择SQL Server身份验证来更改密码时,我遇到了以下错误:无法更改登录名“sa”,因为它不存在或您没有权限。(.Net SqlClient数据提供程序) - observer

5

MSDN 翻译:

更改安全认证模式的步骤:

在 SQL Server Management Studio Object Explorer 中,右键单击服务器,然后单击“属性”。

在“安全性”页面下,选择新的服务器身份验证模式,然后单击“确定”。

在 SQL Server Management Studio 对话框中,单击“确定”以确认必须重新启动 SQL Server。

在对象资源管理器中,右键单击服务器,然后单击“重启”。如果 SQL Server 代理正在运行,则还必须重新启动。

启用 SA 登录的步骤:

在对象资源管理器中,展开“安全性”→“登录”,右键单击 SA,然后单击“属性”。

在“常规”页面上,您可能需要为登录名创建并确认密码。

在“状态”页面上,在“登录”部分,单击“启用”,然后单击“确定”。


3

打开注册表,搜索以下路径下的键 LoginMode:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server

将LoginMode的值更新为2。


这应该是正确的答案。简单易懂 -- 不需要使用 Management Studio。 - Dario Zadro

0

如果问题在于您无法访问 SQL Server,并且现在正在使用混合模式来启用 sa 或授予帐户管理员特权,则更容易的方法是卸载 SQL Server 并重新安装。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接