你如何重置SA密码?

时间:2010-11-15 19:47:43

标签: sql-server sql-server-2008

你究竟如何重置sa密码?我知道如何进入对话框并重置密码。那就是我现在要问的问题。它比单击,单击,新密码,完成后运行得更深一些!

我不知道SA密码是什么。这台机器的先前用户也不是。之前的用户说他从未在这台机器上运行SQL Express。

当我尝试创建一个新数据库并被告知我没有权限这个时,这个旅程就开始了。好的,我决定给自己一个适当的权限。不,我不能给自己或任何其他人的权利。

我尝试使用SSMS更改密码。我收到一条消息,说我无权更改它。

我尝试使用以下SQL脚本。再一次,没有权限。

GO
ALTER LOGIN [sa] WITH DEFAULT_DATABASE=[master]
GO
USE [master]
GO
ALTER LOGIN [sa] WITH PASSWORD=N'NewPassword' MUST_CHANGE
GO

数据库是SQL Server 2008 Express(10.0.2531.0)。 SQL Server Management Studio是SSMS 2008。 操作系统是Windows 7企业版 我是本地管理员和域用户。我创建了一个用于登录SSMS的本地管理员帐户 机器在域上。 连接到我们的网络数据库服务器没有问题。

有什么建议吗?这可能是一个简单的修复。感谢...

4 个答案:

答案 0 :(得分:7)

这应该有所帮助:以单用户模式启动SQL Server。这将允许本地管理员以sysadmin固定服务器角色进行连接。有关如何执行此操作的详细说明,请参见here

答案 1 :(得分:1)

人们也可以尝试通过以下SP来改变密码

EXEC sp_password NULL, 'yourpassword', 'sa'
希望可以帮助其他人。感谢

答案 2 :(得分:0)

您可以使用Reset-DbaAdmin中的https://dbatools.io Powershell cmdlet。

  

此功能允许管理员通过重置sa密码,将sysadmin角色添加到现有登录名,或添加新登录名(SQL或Windows)并授予其sysadmin权限来重新获得对本地或远程SQL Server的访问权。

     

这是通过停止SQL服务或SQL群集资源组,然后使用/ mReset-DbaAdmin参数通过命令行重新启动SQL来实现的,该参数以单用户模式启动服务器,并且只允许此脚本连接。

     

使用Reset-DbaAdmin将重新启动SQL Server。

Reset-DbaAdmin -SqlServer sqlcluster

答案 3 :(得分:0)

到目前为止,我发现的最简单的方法是使用Sysinternals PSEXEC应用程序在SYSTEM上下文下运行SQL Server Management Studio / SQL Express。安装后(将psexec.exe复制到您的计算机上,运行它并接受EULA),您可以键入以下内容来调用系统上下文实例:

psexec -s -i <path to ssms.exe/sqlservr.exe>

您可以使用GUI,而无需单用户模式即可进行更改。我遇到了一个未知的客户端捆绑了snigle-user连接的问题,这为我节省了精力。