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

posted @ 2019-07-23 17:28  预见者  阅读(2563)  评论(0编辑  收藏  举报