使用此方法需要当前用户是 SQL Server 服务器的本地管理员。
- 停止 SQL Server 实例:
1
Stop-Service -Name 'MSSQLSERVER' -Force
- 以单用户模式启动 SQL Server 实例:
1
2$service = Get-Service -Name 'MSSQLSERVER'
$service.Start(@('/f', '/mSQLCMD')) - 创建当前用户的 LOGIN 并赋予 sysadmin 权限:
1
2$query = 'CREATE LOGIN [{0}\{1}] FROM WINDOWS; ALTER SERVER ROLE sysadmin ADD MEMBER [{0}\{1}];'
sqlcmd.exe -E -Q ($query -f $env:USERDOMAIN, $env:USERNAME) - 重启 SQL Server 实例恢复多用户模式:
1
Restart-Service -Name 'MSSQLSERVER'