以管理員身份運行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