sqlserver禁用windows登录或sa忘记密码的登录管理工具处理方法
问题:禁用windows登录,sa忘记密码或密码过期,无法登录sqlserver的管理工具,重置方法如下;
1、停止SqlServer服务,net stop mssqlserver;
2、新建windows账号test,授予管理员权限;
3、远程桌面切换到test;
4、以管理员方式运行cmd,执行如图命令;
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登录;