SQL SERVER 还原 MSDB 数据库

先停止 【SQL SERVER 代理(MSSQLSERVER)】 服务(或者在SSMS——SQL SERVER代理 上点击右键——停止),

然后在执行以下SQL(先中止所有msdb数据库的连接,在还原数据库)

DECLARE @dbname VARCHAR(20);  
SET @dbname = 'msdb';  
DECLARE @sql VARCHAR(500);  
DECLARE @spid INT;  
set @sql = 'DECLARE GETSPID CURSOR FOR SELECT SPID FROM SYSPROCESSES WHERE DBID = DB_ID(''' + @dbname + ''')';  
EXEC(@sql);  
OPEN GETSPID;  
FETCH NEXT FROM GETSPID INTO @spid;  
WHILE @@FETCH_STATUS <> -1 BEGIN  
    EXEC('KILL ' + @spid);  
    FETCH NEXT FROM GETSPID INTO @spid;  
END;  
CLOSE GETSPID;  
DEALLOCATE GETSPID;  


restore database msdb from disk = 'E:\马克思主义\bwk_aslk\master&msdb\bwk_aslk_msdb.bak' with replace ,stats = 10

 

posted @ 2025-09-16 16:52  竹楼风雨声  阅读(11)  评论(0)    收藏  举报