我忘记了我的密码并且已经禁用了Windows身份验证模式。
如何在禁用Windows身份验证的情况下重置SQL Server sa密码
tnx提前
答案 0 :(得分:2)
我遇到了同样的问题。尝试谷歌搜索它,所有的标准解决方案都没有用,所以我必须有创意。基本上我的问题是SA帐户被禁用,系统也被设置为仅允许通过Windows身份验证登录,最后Windows中的管理员帐户也不是sysadmin角色的成员。所以所有正常的建议一直给我许可否认错误(因为我没有权限改变其他帖子告诉我应该改变的内容)。
我的解决方案如下所示,仅适用于您需要的部分:
第1阶段: - 让SSMS在单用户模式下工作
第2阶段:第1部分: - 启用SQL Server和Windows身份验证模式
第2阶段:第2部分: - 将自己添加到系统管理员角色
第2阶段:第3部分:更改SA密码并启用帐户
这是重置任何用户密码(对于系统管理员)的过程。 在这个阶段你应该关闭SSMS。
第3阶段:在多用户模式下重新启动SSMS。
第四阶段:试穿更大的鞋子。
在此阶段,您应该能够从登录中启用或禁用SA帐户并更改其密码,您也应该能够启用或禁用使用SQL Server身份验证登录的功能。测试这些以确保您拥有必要的权利。
注意:有些人应该这样做。我觉得在设置新的SQL服务器实例后,系统管理员帐户应该是首先设置的。
有些人建议删除SA帐户(就个人而言,我建议只在其上添加一个非常强大的密码)。只要您拥有sysadmin帐户,这很好,但某人必须拥有sysadmin访问权限的帐户。出于显而易见的原因,此帐户不应被命名为Admin或其中某些变体。还要避免使用诸如公司名称和其他组合之类的名称。
关于启用或禁用sql server身份验证,我将留给DB管理员进行辩论。
希望您觉得这很有帮助。
答案 1 :(得分:2)
新的最佳方式:使用PowerShell。 Reset-SqlSaPassword允许管理员通过重置sa密码,将sysadmin角色添加到现有登录,或添加新登录(SQL或Windows)并授予登录sysadmin权限来重新获得对本地或远程SQL Server的访问权限。需要Windows管理员访问权限。
这是通过停止SQL服务或SQL群集资源组,然后使用/ mReset-SqlSaPassword参数通过命令行重新启动SQL,该参数以单用户模式启动服务器,并且只允许Reset-SqlSaPassword连接
重新启动服务后,将执行以下任务:
如果不存在,则添加登录
为了使此脚本尽可能可移植,使用System.Data.SqlClient和Get-WmiObject(而不是需要故障转移群集管理工具或SMO)。如果对远程SQL Server使用此功能,请确保已配置并可访问WinRM。如果无法做到这一点,请在本地运行脚本。适用于x86和x64。
答案 2 :(得分:0)
SQL Server 2008+的简单步骤,默认情况下不再添加管理员组。
从命令行(以Win管理员身份):
net stop MSSQLSERVER
net start MSSQLSERVER /m /f
ssms
在此处(在已启动的SSMS中),您可以创建其他sysadmins,更改sa密码。然后回到命令外壳:
net stop MSSQLSERVER
net start MSSQLSERVER
答案 3 :(得分:0)
这是分5分钟的分步视频,介绍如何使用SQL Server身份验证或Windows身份验证重置SysAdmin密码
https://www.youtube.com/watch?v=GOvbjo1tlYo
基本步骤也是在单用户模式下启动SQL Server,然后添加新的SysAdmin用户。视频中突出显示的基本步骤如下
逐步启动单用户模式