首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

忘记SQL Server管理员密码

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

使用 SQL Server 服务器计算机本地 Administrators 组的任何成员登录到 SQL Server 服务器

确定忘记管理员密码的 SQL Server 服务

可以在服务(services.msc)里面查看,或者使用下面的 Powershell 命令

Get-Service ? DisplayName -Like 'SQL Server (*)'

停止 SQL Server 服务

以单用户模式(/m参数)启动 SQL Server 服务

使用参数 /m 启动,在管理员命令提示符下执行

net start start mssqlserver /m

使用 slqcmd 完成管理员解锁

在单用户模式下启动 SQL Server 可使计算机本地 Administrators 组的任何成员作为 sysadmin 固定服务器角色的成员连接到 SQL Server 实例

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

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

# 脚本需要在管理员命令提示符下的 Powrshell 中执行

# 可以通过下面这个命令进入到管理员命令提示符下的 Powershell

# Powershell Start-Process Powershell.exe -Verb runas

$ServiceName = 'mssql$reportdb' # 定义要操作的 SQL Server 服务

$Service = Get-Service $ServiceName

# 停止 SQL Server 服务并以单用户模式启动

net.exe stop $($Service.Name)

net.exe start $($Service.Name) /m

# 当前用户加入 SQL Server 的 sysadmin 成员

$Instance = '.\' + ($Service.Name -Split '\$')[1]

If( -Not $Instance ){ $Instance = '.' }

$user = [Environment]::UserDomainName + '\' + [Environment]::UserName

$sql = "CREATE LOGIN [$user] FROM WINDOWS; EXEC sp_addsrvrolemember [$user],sysadmin"

sqlcmd.exe -S $Instance -Q $sql

# 以正常方式启动 SQL Server 服务(依赖的服务需要手工检查启动)

net.exe stop $($Service.Name)

net.exe start $($Service.Name)

其他说明

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171223G0914H00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券