Sqlserver操作系统用户Administrator本地登陆SSMS报错18456的解决方法

官方文档https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/connect-to-sql-server-when-system-administrators-are-locked-out?view=sql-server-ver15
结论:只要有操作系统的超级管理员账户,那么一定有方法可以登陆该服务器上的任何数据库,因为在任何数据库中,操作系统的administrator或root用户永远拥有高权限,可以进行配置项或数据库文件级别的修改

Sqlserver操作系统用户administrator本地登陆ssms报错18456的解决方法:使用-m启动sqlserver数据库,这样数据库允许本地管理员以single-user登陆sqlserver服务,就可以增加sqlserver的登陆用户了,步骤如下
1、 停止所有sqlserver服务包括SQL Server agent、SQL Server Browse等等
2、 修改sql server的启动参数,增加-m
在这里插入图片描述

3、 启动sql server这一个服务
4、 登陆ssms,不要选择Connect,选择New Query
在这里插入图片描述
在这里插入图片描述

5、 执行如下语句,以后就可以使用administrator用户本地登陆数据库了

USE [master]
GO
CREATE LOGIN [BUILTIN\Administrators] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
GO

ALTER SERVER ROLE [sysadmin] ADD MEMBER [BUILTIN\Administrators]
GO
/*以下为追加域用户组DA\WDBA并加入sysadmin,以后该用户组的成员就可以登陆数据库了
CREATE LOGIN [DA\WDBA] FROM WINDOWS WITH DEFAULT_DATABASE=[master],      DEFAULT_LANGUAGE=[us_english]
GO

ALTER SERVER ROLE [sysadmin] ADD MEMBER [DA\WDBA]
GO
*/

6、 关闭sqlserver服务并移除-m启动选项,再启动sqlserver及相应的SQL Server agent、SQL Server Browser,后面用户就可以正常登陆sqlserver 数据库了

Supongo que te gusta

Origin blog.csdn.net/lusklusklusk/article/details/121135362
Recomendado
Clasificación