Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何重置SA密码?_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server 如何重置SA密码?

Sql server 如何重置SA密码?,sql-server,sql-server-2008,Sql Server,Sql Server 2008,你到底是如何重置sa密码的?我知道如何进入对话框并重置密码。这就是我现在要问的。它比点击,点击,新密码,完成,运行得更深一点 我不知道SA密码是什么。这台机器的前一位用户也没有。前一位用户说他从未在这台机器上运行过SQL Express 当我试图创建一个新的数据库时,我被告知我没有这样做的权限。好吧,我决定给自己适当的权限。不,我不能给自己或其他任何人权限 GO ALTER LOGIN [sa] WITH DEFAULT_DATABASE=[master] GO USE [master] GO

你到底是如何重置sa密码的?我知道如何进入对话框并重置密码。这就是我现在要问的。它比点击,点击,新密码,完成,运行得更深一点

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

当我试图创建一个新的数据库时,我被告知我没有这样做的权限。好吧,我决定给自己适当的权限。不,我不能给自己或其他任何人权限

GO
ALTER LOGIN [sa] WITH DEFAULT_DATABASE=[master]
GO
USE [master]
GO
ALTER LOGIN [sa] WITH PASSWORD=N'NewPassword' MUST_CHANGE
GO
我尝试使用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)。 SQLServerManagementStudio是SSMS2008。 操作系统是Windows7企业版 我是本地管理员,也是域用户。我为登录SSMS创建了一个本地管理员帐户 计算机位于域上。 我没有问题连接到我们的网络数据库服务器


有什么建议吗?这可能是一个简单的解决方案。谢谢…

这应该会有帮助:在单用户模式下启动SQL Server。这将允许本地管理员作为sysadmin固定服务器角色进行连接。可以找到有关如何执行此操作的详细说明。

人们也可以通过下面的SP尝试以这种方式更改密码

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

您可以从中使用:Powershell cmdlet

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

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

使用Reset DbaAdmin将重新启动SQL Server

Reset-DbaAdmin -SqlServer sqlcluster

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

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

您可以使用GUI,而不需要单用户模式来实现更改。我遇到了一个未知客户端绑定snigle用户连接的问题,这救了我。

我还想分享一篇文章,其中介绍了3种重置SA密码的方法:非常有用,你应该检查一下。我成功地使用了链接中的说明,但没有编辑服务的启动参数,只需停止SQL Server服务并手动运行它:
“C:\Program Files\Microsoft SQL Server\MSSQL10\u 50.SQLEXPRESS\MSSQL\Binn\sqlservr.exe”-sSQLEXPRESS-m
。这比编辑启动参数更简单、更安全。@Alex谢谢你,你的回答解决了我的问题。我已经做了整整两天了。令人惊叹的。