使用SQL Server数据库事务,实现定时还原数据库 [MS SQLServer]

实现数据库定时还原,其中包含了2个步骤,

1.分离数据库;

2.还原数据库;

新建数据库事务,然后将下面代码作为两个步骤填入并设置启动条件即可。


--分离
USE MASTER
DECLARE @dbname VARCHAR(50)
SET @dbname = 'Whir_ezCOMPANYv4.0.4.4770'
DECLARE @sql VARCHAR(50)
DECLARE cs_result CURSOR LOCAL 
FOR
    SELECT 'kill ' + CAST(spid AS VARCHAR(50))
    FROM   sys.sysprocesses
    WHERE  DB_NAME(dbid) = @dbname
OPEN cs_result

FETCH NEXT FROM cs_result INTO @sql
WHILE @@fetch_status = 0
BEGIN
    EXECUTE(@sql) 
    FETCH NEXT FROM cs_result INTO @sql
END
CLOSE cs_result
DEALLOCATE cs_result

--还原 
USE MASTER 
ALTER DATABASE [Whir_ezCOMPANYv4.0.4.4770]  
SET OFFLINE WITH ROLLBACK IMMEDIATE 
RESTORE DATABASE [Whir_ezCOMPANYv4.0.4.4770] FROM DISK = 'D:\04_还原文件\01_数据库\Whir_ezCOMPANYv4.0.4.4770.bak'  
WITH REPLACE 
ALTER  DATABASE [Whir_ezCOMPANYv4.0.4.4770]   
SET ONLINE

使用时,请将绿色部分替换为您自己的数据库信息。