批量备份和还原数据库

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
DECLARE @name        NVARCHAR(200)   
DECLARE @path        NVARCHAR(500)       
DECLARE @sql   NVARCHAR(500)   
DECLARE @bsql   VARCHAR(500)   
DECLARE @NowDay   VARCHAR(20)  --设置时间
  SET @NowDay=convert(VARCHAR(8),getdate(),112);
--备份文件存放路径 
SET @path = '\\192.168.60.177\bak\'    
      
DECLARE cursors CURSOR   
FOR 
    --查询集合 
    SELECT [name] 
    FROM   [sysdatabases] 
    WHERE  NAME NOT IN ('master', 'tempdb', 'model', 'msdb','ReportServerTempDB','ReportServer') 
                
 OPEN cursors                        
 FETCH NEXT FROM cursors INTO @name   
WHILE @@fetch_status = 0 
BEGIN 
    --遍历集合  
    SET @bsql=@path+@name+'_''+@NowDay +''.bak' +''''
    PRINT ' Set @bsql='''+@bsql+''
    SET @sql=  ' BACKUP DATABASE ['  + @name + '] TO DISK =  @bsql    WITH INIT,NOUNLOAD,NOSKIP,COMPRESSION,CHECKSUM,STATS=10,NOFORMAT'  
   PRINT @sql
   --EXEC(@sql)
   FETCH NEXT FROM cursors INTO @name 
END 
 CLOSE cursors            
 deallocate cursors

  

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
DECLARE @name        NVARCHAR(200)   
DECLARE @path        NVARCHAR(500)       
DECLARE @sql   NVARCHAR(500)   
DECLARE @bsql   VARCHAR(500)   
DECLARE @NowDay   VARCHAR(20)  --设置时间
  SET @NowDay=convert(VARCHAR(8),getdate(),112);
--备份文件存放路径 
SET @path = '\\192.168.60.177\bak\'    
      
DECLARE cursors CURSOR   
FOR 
    --查询集合 
    SELECT [name] 
    FROM   [sysdatabases] 
    WHERE  NAME NOT IN ('master', 'tempdb', 'model', 'msdb','ReportServerTempDB','ReportServer') 
                
 OPEN cursors                        
 FETCH NEXT FROM cursors INTO @name   
WHILE @@fetch_status = 0 
BEGIN 
    --遍历集合  
    SET @bsql=@path+@name+'_''+@NowDay +''.bak' +''''
    PRINT ' Set @bsql='''+@bsql+''
    SET @sql=  ' BACKUP DATABASE ['  + @name + '] TO DISK =  @bsql    WITH INIT,NOUNLOAD,NOSKIP,COMPRESSION,CHECKSUM,STATS=10,NOFORMAT'  
   PRINT @sql
   --EXEC(@sql)
   FETCH NEXT FROM cursors INTO @name 
END 
 CLOSE cursors            
 deallocate cursors

  

posted @   zping  阅读(419)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2009-02-05 只有MDF数据库文件的数据恢复(转)
2009-02-05 Oracle 查看当前执行IO次数最多的SQL
点击右上角即可分享
微信分享提示