首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重置SQL Server sa密码

如何重置SQL Server sa密码
EN

Stack Overflow用户
提问于 2014-01-25 19:28:56
回答 4查看 7.6K关注 0票数 0

我忘记了我的sa密码,并且已经禁用了windows身份验证模式。

如何在禁用windows身份验证的情况下重置SQL Server sa密码?

提前使用tnx

EN

回答 4

Stack Overflow用户

发布于 2015-04-10 21:07:05

我也有同样的问题。我试着用谷歌搜索一下,所有的标准解决方案都不起作用,所以我不得不发挥创意。基本上,我的问题是SA帐户被禁用,并且系统被设置为只允许通过windows身份验证登录,最后windows中的管理员帐户也不是sysadmin角色的成员。因此,所有正常的建议都不断给我权限拒绝错误(因为我没有权限更改其他帖子告诉我应该更改的内容)。

我的解决方案记录在下面,只应用您需要的部分:

阶段1:-让SSMS在单用户模式下工作

  1. Open SQL Server configuration manager (SSCM)
  2. 单击SQL Server Services
  3. 右键单击Sql server (MSSQLSERVER),然后在高级选项卡上单击properties
  4. Click
  5. 查找“启动参数”并在开头添加以下解析器<>H113“-m;”或在结尾处添加";-m“(注意分号,但不带引号)H115注意而不是添加任何空格,因为解析器非常难用

  1. 按ok
  2. 再次右键单击,然后按restart
    • 如果遇到任何服务未启动的问题,请验证步骤5.

第2阶段:第1部分:启用SQL Server和Windows身份验证模式

  1. 再次启动SSMS。
    • 这次当SSMS启动时,它将在单用户模式下启动,从而为您提供完整的SSMS

使用通常的Windows帐户以before.

  • Right身份登录单击服务器节点(第一个/最上面的节点),然后选择properties.

  • Click on Security

  • Under“服务器身份验证”单击"SQL

  • 和windows身份验证模式“(如果尚未确定

)

阶段2:第2部分:-将您自己添加到sysadmin角色

  1. 单击"Security“,然后单击"Server Roles”
  2. 在弹出的窗口中右键单击"sysadmin“role
  3. ,然后单击底部的add。
  4. 在弹出的窗口中,单击browse
  5. Find your user,然后单击名称旁边的复选框。
  6. 单击ok -这将使您返回到步骤4中的窗口,此时您的用户将显示在下面的框中。
  7. 单击ok -这将使您返回到步骤3中的窗口,该窗口会将您的用户添加到角色成员列表中。
  8. 单击ok。-恭喜,您现在拥有SA用户的所有权限。

阶段2:第3部分:更改SA密码并启用帐户

代码双击Security.

  • Double,单击Logins.

  • Right,选择SA,然后选择properties.

  • Change并确认密码字段(但尚未按ok )。

  • 单击Status选项卡。

  • 单击Enabled.

  • Click ok

<>G293>

这是重置任何用户密码的过程(对于sysadmin)。在此阶段,您应该关闭SSMS。

阶段3:在多用户模式下重新启动SSMS。

  1. 按照第1阶段中的步骤操作,只需删除-m;

第四阶段:试穿你的大鞋子。

在此阶段,您应该能够在登录时启用或禁用SA帐户并更改其密码,还应该能够启用或禁用使用SQL Server身份验证登录的功能。测试这些,以确保您拥有必要的权限。

注释:一些被教导的人应该这样做。我认为在设置新的SQL server实例后,应该首先设置sysadmin帐户。

有些人建议删除SA帐户(就我个人而言,我建议只对其设置一个非常强的密码)。只要您有一个sysadmin帐户,就可以了,但必须有人有一个具有sysadmin访问权限的帐户。由于显而易见的原因,这个帐户不应该被命名为Admin或其变体,就像上帝一样。也要避免名字,如你的公司名称和两者的组合等。

至于启用还是禁用sql server身份验证,我将把这个问题留给数据库管理员来讨论。

希望这对你有帮助。

票数 3
EN

Stack Overflow用户

发布于 2015-06-07 23:53:19

最好的新方法:使用PowerShell。Reset-SqlSaPassword允许管理员通过重置sa密码、向现有登录名添加sysadmin角色或添加新登录名(SQL或Windows)并授予登录名sysadmin权限来重新获得对本地或远程SQL Servers的访问权限。需要Windows管理员访问权限。

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

重启服务后,将执行以下任务:

如果登录名不存在,则添加该登录名

  • List item
  • Login is enabled
  • Login is made to sysadmin role
  • Login is unlocked
  • 如果登录是

用户,将尝试确保帐户存在如果登录是

  • 登录:H115安全密码提示将appear
    • Password策略设置为off
    • SQL Server身份验证设置为混合Mode

为了使该脚本尽可能可移植,使用了System.Data.SqlClient和Get-WmiObject (与需要故障转移集群管理工具相反)。如果对远程SQL Server使用此函数,请确保WinRM已配置且可访问。如果这不可能,请在本地运行该脚本。适用于x86和x64。

票数 3
EN

Stack Overflow用户

发布于 2019-07-10 10:36:56

SQL Server 2008+的简单步骤,默认情况下不再添加管理员组。

从命令行(以Win管理员身份):

代码语言:javascript
复制
net stop MSSQLSERVER
net start MSSQLSERVER /m /f
ssms

在这里(在启动的SSMS中),您可以创建其他sysadmin,更改sa密码。然后返回到命令shell:

代码语言:javascript
复制
net stop MSSQLSERVER
net start MSSQLSERVER
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21349937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档