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

您所在的位置:网站首页 网站管理员知道用户密码吗 忘记SQL Server 管理员密码不可怕,学会这招就够了

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

2024-07-10 16:30| 来源: 网络整理| 查看: 265

作者 | 邹建,资深数据库专家,精通各项 SQL Server 技术,具有丰富的管理、维护、优化能力以及业务应用经验。他一直热心于技术知识的分享、传播,持续活跃在 CSDN 和 MSDN 社区,曾多年蝉联 CSDN 论坛积分榜首。

此外,邹建还是 2004~2010、2013年度 MVP(微软最有价值专家) 获得者。著有《深入浅出 SQL Server 2005开发、管理与应用实例》《SQL Server 2000开发与管理应用实例》等畅销书。

如果忘记 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=′mssqlreportdb’ # 定义要操作的 SQL Server 服务 Service=Get−ServiceService=Get−ServiceServiceName # 停止 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−SInstance -Q $sql # 以正常方式启动 SQL Server 服务(依赖的服务需要手工检查启动) net.exe stop ((Service.Name) net.exe start ((Service.Name)

其他说明

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

原创:邹建。

投稿:有投稿意向技术人请在公众号对话框留言。

转载:意向文章下方留言。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3