如何重置SQL Server sa密码

cngwdvgl  于 2023-01-08  发布在  SQL Server
关注(0)|答案(5)|浏览(252)

我忘记了sa密码,并且已经禁用了windows身份验证模式。
如何在禁用Windows身份验证的情况下重置SQL Server sa密码
提前tnx

wh6knrhe

wh6knrhe1#

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

这是通过停止SQL服务或SQL群集资源组,然后使用/mReset-SqlSaPassword参数(以单用户模式启动服务器)通过命令行重新启动SQL来实现的,并且只允许Reset-SqlSaPassword进行连接。
重新启动服务后,将执行以下任务:
如果登录名不存在,则添加该登录名

  • 列表项
  • 登录已启用
  • 登录名已添加到sysadmin角色
  • 登录已解锁
  • 如果登录帐户是Windows用户,则会尝试确保该帐户存在
  • 如果登录名是SQL登录名:
  • 将出现安全密码提示
  • 密码策略设置为关闭
  • SQL Server身份验证设置为混合模式

为了使此脚本尽可能具有可移植性,使用了System.Data.SqlClient和Get-WmiObject(而不需要故障转移群集管理工具或SMO)。如果对远程SQL Server使用此功能,请确保WinRM已配置并且可以访问。如果无法做到这一点,请在本地运行此脚本。适用于x86和x64。

bogh5gae

bogh5gae2#

我也遇到了同样的问题。试着在谷歌上搜索,所有的标准解决方案都不起作用,所以我必须变得有创意。本质上我的问题是SA帐户被禁用了,系统也被设置为只允许通过Windows身份验证登录,最后,Windows中的管理员帐户也不是sysadmin角色的成员。所以所有正常的建议都不断给我权限被拒绝的错误(因为我没有权限修改其他帖子告诉我应该修改的内容)。
我的解决方案记录如下,只适用于您需要的部分:

    • 阶段1:-使SSMS在单用户模式下工作**

1.打开SQL Server配置管理器(SSCM)
1.单击SQL Server服务
1.右键单击SQL Server(MSSQLSERVER),然后单击属性
1.单击高级选项卡

  • 找到"启动参数"并添加以下内容
  • "-m;"开头或";结尾处的-m "(注意分号,但不带引号)
  • 注意不要添加任何空格,因为解析器非常挑剔
  • 按下OK
  • 再次右键单击并按重新启动
  • 如果遇到任何服务无法启动的问题,请验证步骤5。
    • 第2阶段:第1部分:- 启用SQL Server和Windows身份验证模式**
  • 再次启动SSMS。
  • 这一次,当SSMS启动时,它将以单用户模式启动,这将为您提供完全访问权限。
  • 像以前一样使用常用的windows帐户登录。
  • 右键单击服务器节点(第一个/最顶层节点)并选择属性。
  • 单击安全
  • 在"服务器身份验证"下,单击"SQL Server和Windows身份验证模式"(如果尚未选择)。
  • 单击确定
    • 第2阶段:第2部分:- 将您自己添加到系统管理员角色**

1.单击"安全",然后单击"服务器角色"
1.右键单击"sysadmin"角色
1.在弹出的窗口中,单击底部的"添加"。
1.在弹出的窗口中,单击浏览
1.找到您的用户并单击名称旁边的复选框。
1.单击"确定"-这将返回到步骤4中的窗口,此时您的用户将显示在下面的框中。
1.单击"确定"-这将使您返回到步骤3中的窗口,该窗口将您的用户添加到角色成员列表中。
1.单击确定。-恭喜,您现在拥有SA用户的所有权限。

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

1.双击安全性。
1.双击登录。
1.右键单击SA并选择属性。
1.更改并确认密码字段(但不要按"确定")。
1.单击"状态"选项卡。
1.单击启用。
1.单击确定
这是重置任何用户密码(系统管理员)的过程。在此阶段,您应该关闭SSMS。

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

1.按照阶段1中的步骤操作,只需删除-m;
第四步:试穿大一点的鞋子。
在此阶段,您应该能够启用或禁用SA帐户登录并更改其密码,还应该能够启用或禁用使用SQL Server身份验证登录的功能。请测试这些功能以确保您具有必要的权限。

    • 注意:**一些教授应该进入这样做。我觉得一个系统管理员帐户应该是第一件事设置一旦你设置一个新的SQL Server示例。

有些人建议删除SA帐户(个人而言,我建议只是把一个非常强大的密码)。只要你有一个帐户与系统管理员这是好的,但必须有人有一个帐户与系统管理员访问。这个帐户不应该命名为管理员或一些变种,如上帝的原因显而易见。也避免名称,如您的企业名称和组合等。
至于启用或禁用sql server身份验证,我将留给数据库管理员讨论。
希望你觉得这个有用。

r1zk6ea1

r1zk6ea13#

SQL Server 2008+的简单步骤,默认情况下不再添加管理员组。
从命令行(作为Win管理员):

net stop MSSQLSERVER
net start MSSQLSERVER /m /f
ssms

在这里(在启动的SSMS中),您可以创建其他系统管理员,更改sa密码,然后返回命令shell:

net stop MSSQLSERVER
net start MSSQLSERVER
i7uq4tfw

i7uq4tfw4#

这是一个5分钟的分步视频,介绍如何使用SQL Server身份验证或Windows身份验证重置系统管理员密码

https://www.youtube.com/watch?v=GOvbjo1tlYo

基本步骤还包括在单用户模式下启动SQL Server,然后添加新的SysAdmin用户。
逐步启动单用户模式

  1. SQL Server配置管理器-确保在本地启用NamedPipes/TCP
    1.列出服务a. net start b. services. msc
    1.停止服务-网络停止[SQL-SERVICENAME]
    1.启动单用户模式a)网络启动[SQL-SERVICENAME]-m "SQLCMD" b)"C:\程序文件\Microsoft SQL Server\MSSQL14.SQL1\MSSQL\Binn\sqlservr.exe"-sSQL1-m "SQLCMD"
  2. SQLCMD-S [SQL示例]
  3. sqlcmd-登录a)SQL用户-创建登录[名称],密码="密码";转到b)Windows用户-从Windows创建登录名[域名\登录名];开始
  4. a)服务提供商添加服务器角色成员名称,"系统管理"; GO b)确认-从系统登录中选择名称; GO;
  5. sqlcmd-退出
pxy2qtax

pxy2qtax5#

如果您丢失了sa密码并且没有Windows身份验证登录,则可以通过以下步骤重置sa密码-:

1.以单用户模式启动SQL Server。

(a)打开sql server配置管理器
(b)选择示例并单击属性,然后在中设置-m或-f参数
enter image description here启动参数。
(c)单击“确定”,然后重新启动SQL服务。

2.现在,所有属于主机本地管理员组成员的用户都可以连接到SQL Server示例,并且他们将获得服务器级角色sysadmin的权限,这有助于我们恢复SA密码。
3.以管理员身份运行SSMS(Sql Server Management Studio),并通过Windows身份验证登录。
4.现在选择安全选项卡,选择登录,找到“sa”用户,选择属性,重置所需密码。
5.然后再次右键单击SQL SERVER INSTANCE以重新启动它。enter image description here

6.现在sa密码已重置。
7.现在从SQL Server配置启动参数中删除**-f或-m**参数。enter image description here

8.右键单击配置管理器中的示例,再次重新启动SQL SERVER SERVICE。
9.现在,您已成功重置SQL Server的sa密码,并通过运行SSMS进行检查,并在Management Studio中设置SQL Server身份验证模式。

相关问题