忘记SQL Server 管理员密码不可怕,学会这招就够了

如果忘记 SQL Server 管理员密码,可以使用下面的方式处理 

1. 使用 SQL Server 服务器计算机本地 Administrators 组的任何成员登录到 SQL Server 服务器 
2. 确定忘记管理员密码的 SQL Server 服务 
可以在服务(services.msc)里面查看,或者使用下面的 Powershell 命令 
Get-Service | ? DisplayName -Like ‘SQL Server (*)’ 
3. 停止 SQL Server 服务 
4. 以单用户模式(/m参数)启动 SQL Server 服务 
使用参数 /m 启动,在管理员命令提示符下执行 
net start start mssqlserver /m 
5. 使用 slqcmd 完成管理员解锁 
在单用户模式下启动 SQL Server 可使计算机本地 Administrators 组的任何成员作为 sysadmin 固定服务器角色的成员连接到 SQL Server 实例 

6. 完成后停止 SQL Server 服务,并以正常方式启动 SQL Servr 和相关服务即可

Powershell 通用脚本 – 将当前登录帐号加入 SQL Server 的 sysadmin 成员

# 脚本需要在管理员命令提示符下的 Powrshell 中执行  
# 可以通过下面这个命令进入到管理员命令提示符下的 Powershell  
# Powershell Start-Process Powershell.exe -Verb runas  
ServiceName=′mssqlServiceName=′mssql reportdb’ # 定义要操作的 SQL Server 服务 
Service=Get−ServiceService=Get−Service ServiceName 
# 停止 SQL Server 服务并以单用户模式启动 
net.exe stop  (( Service.Name) 
net.exe start  (( Service.Name) /m 
# 当前用户加入 SQL Server 的 sysadmin 成员 
Instance=′.\'+(Instance=′.\'+( Service.Name -Split ‘$’)[1] 
If( -Not  Instance)$Instance=‘.′Instance)$Instance=‘.′ user = [Environment]::UserDomainName + ‘\’ + [Environment]::UserName 
sql="CREATELOGIN[sql="CREATELOGIN[ user] FROM WINDOWS; EXEC sp_addsrvrolemember [ user],sysadmin”sqlcmd.exe−Suser],sysadmin”sqlcmd.exe−S Instance -Q $sql 
# 以正常方式启动 SQL Server 服务(依赖的服务需要手工检查启动)  
net.exe stop  (( Service.Name) 

net.exe start  (( Service.Name)

其他说明

可以让您重新获得访问权限的一种方法是重新安装 SQL Server 并将所有数据库附加到新实例。这种解决方案很耗时,并且若要恢复登录名,可能还需要从备份中还原 master 数据库。如果 master 数据库的备份较旧,则它可能未包含所有信息。如果 master 数据库的备份较新,则它可能与前一个实例具有同样的登录名;因此管理员仍将被锁定。


原文发布时间为:2018-09-2

本文作者:邹建

本文来自云栖社区合作伙伴“数据和云”,了解相关信息可以关注“数据和云”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值