SqlServer2008 / SqlServer2012 禁用windows登录,sa忘记密码或密码过期如何登陆
以管理员身份运行cmd
1、cmd 下 停止SqlServer服务,net stop mssqlserver;
2、新建windows账号test,加入administrators组里,授予管理员权限;
3、切换到test用户下;
4、以管理员方式运行cmd,执行命令,
5、不要关闭上图命令窗口,重新以管理员身份运行一个cmd窗口,执行sqlcmd -i d:\1.sql; sql脚本如下:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35)
@configvalue = 1 -- int
RECONFIGURE WITH override
--修改注册表,修改身份验证为混合验证方式
USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO
--创建登录名
CREATE LOGIN [机器名\test] FROM WINDOWS;
GO
--赋予登录名的权限为sysadmin
USE master
GO
EXEC [sys].[sp_addsrvrolemember] @loginame = '机器名\test', -- sysname
@rolename = sysadmin -- sysname
--关闭xp_cmdshell功能
EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35)
@configvalue = 0 -- int
RECONFIGURE WITH override
6、关掉所有cmd窗口,重新启动SqlServer服务
打开SqlServerManagementStudio,以Windows身份验证方式登录,可以登录成功,把sa密码更改后 可以正常使用了
参照:https://blog.csdn.net/QQ38397892/article/details/84454200