sqlserver禁用windows登录或sa忘记密码的登录管理工具处理方法

作者:佚名 来源:网络 点击数: 发布时间:2021年02月03日

问题:禁用windows登录,sa忘记密码或密码过期,无法登录sqlserver的管理工具,重置方法如下;

1、停止SqlServer服务,net stop mssqlserver;

2、新建windows账号test,授予管理员权限;

3、远程桌面切换到test;

4、以管理员方式运行cmd,执行如图命令;

0f9811a399ec45a8934a13651a3e46af.png

5、不要关闭上图命令窗口,重新以管理员身份运行一个cmd窗口,执行sqlcmd -i d:\1.sql; sql脚本如下:

1.sp_configure 'show advanced options', 1;  

2.GO  

3.RECONFIGURE;  

4.GO  

5.EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35)

6.      @configvalue = 1 -- int

7.  RECONFIGURE WITH override

8.  

9.  

10. --修改注册表,修改身份验证为混合验证方式

11.  USE [master]

12.  GO

13. EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2

14. GO

15. 

16. --创建登录名

17. CREATE LOGIN [database\test] FROM WINDOWS;

18. GO

19. 

20. --赋予登录名的权限为sysadmin

21. USE master

22. GO

23. EXEC [sys].[sp_addsrvrolemember] @loginame = 'database\test', -- sysname

24.     @rolename = sysadmin -- sysname

25. 

26. --关闭xp_cmdshell功能

27. EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35)

28.     @configvalue = 0 -- int

29. RECONFIGURE WITH override

6、重新启动SqlServer服务;

7、关掉所有cmd窗口,打开SqlServerManagementStudio,以Windows身份验证方式登录,随便修改sa密码或启动windows登录;