全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

SqlServer批量备份多个数据库且删除3天前的备份

废话不多说了,直接给大家贴代码了,具体代码如下所示:

/******************************************* 
 * 批量备份数据库且删除3天前的备份 
 *******************************************/ 
DECLARE @backupfile VARCHAR(1024)  
DECLARE @backdesc VARCHAR(1024)  
DECLARE @filename VARCHAR(1024)  
DECLARE @path VARCHAR(1024)  
DECLARE @dbname VARCHAR(1024)  
DECLARE @extension_name VARCHAR(16)  
--备份参数  
DECLARE tmp_Cur CURSOR  
FOR  
  SELECT NAME  
  FROM  [sys].[databases]  
  WHERE  NAME NOT IN ( 'master', 'model','msdb','tempdb' )  
SET @path = N'D:\Backup\Autoback\';  
SET @extension_name = N'bak';  
--生成文件名  
SET @filename = CONVERT(VARCHAR(1024), GETDATE(), 120)  
SET @filename = REPLACE(@filename, ':', '')  
SET @filename = REPLACE(@filename, '-', '')  
SET @filename = REPLACE(@filename, ' ', '')  
SET @filename = @filename + '_' + CONVERT (VARCHAR(3), DATEPART(ms, GETDATE()))  
  + N'.' + @extension_name  
OPEN tmp_Cur;  
FETCH NEXT FROM tmp_Cur INTO @dbname;  
WHILE @@FETCH_STATUS = 0   
  BEGIN  
    -- 得到完整目标文件,数据库将备份到这个文件中  
    SET @backupfile = @path + @dbname + @filename  
    --SELECT @backupfile  
    SET @backdesc =@dbname + N'-完整 数据库 备份'  
    -- 开始备份, COMPRESSION 参数表示压缩,可节省磁盘空间  
    BACKUP DATABASE @dbname TO DISK = @backupfile WITH NOFORMAT, NOINIT, NAME = @backdesc, SKIP, NOREWIND, NOUNLOAD, STATS = 10, COMPRESSION  
    FETCH NEXT FROM tmp_Cur INTO @dbname  
  END  
CLOSE tmp_Cur;  
DEALLOCATE tmp_Cur;  
-- 删除3天前的备份文件  
DECLARE @olddate DATETIME  
SELECT @olddate = DATEADD(d, -3, GETDATE())  
-- 执行删除 (SQL 2008 具备)  
EXECUTE master.dbo.xp_delete_file 0, @path, @extension_name, @olddate, 1 
[sql] view plain copy print?
--作业定时压缩脚本支持多库 
DECLARE @DatabaseName NVARCHAR(50) 
DECLARE @ExecuteSql NVARCHAR(MAX) 
SET @ExecuteSql='' 
DECLARE name_cursor CURSOR 
FOR 
  SELECT name FROM master..sysdatabases WHERE name NOT IN ( 'master', 'model', 'msdb', 'tempdb',  
  'northwind','pubs','AgentSys','ydttimedtask','YiDianTongV2' )  
OPEN name_cursor;  
FETCH NEXT FROM name_cursor INTO @DatabaseName;  
WHILE @@FETCH_STATUS = 0 
  BEGIN   
    SET @ExecuteSql ='' 
    SET @ExecuteSql +=' 
      USE ['+@DatabaseName+']; 
      DECLARE @Error INT 
      SET @Error=(SELECT TOP 1 size/128.0 - CAST(FILEPROPERTY([NAME], ''SpaceUsed'') AS int)/128.0 AS AvailableSpaceInMB FROM sys.database_files ORDER BY [NAME] DESC) 
      --PRINT @Error 
      IF(@Error>1) 
        BEGIN 
          ALTER DATABASE ['+@DatabaseName+']  --数据库名字 
          SET RECOVERY SIMPLE;  --设置简单恢复模式 
          DBCC SHRINKFILE ([YiDianTongV2], 1);  --(M)不能小于1M, 
          DBCC SHRINKFILE ([YiDianTongV2_log], 1);  --(M)不能小于1M 
          ALTER DATABASE ['+@DatabaseName+'] 
          SET RECOVERY FULL;  --恢复为原来完整模式 
        END 
    ' 
    PRINT @ExecuteSql; --打印 
    EXEC(@ExecuteSql) --执行 
    FETCH NEXT FROM name_cursor INTO @DatabaseName;  
  END;  
CLOSE name_cursor;  
DEALLOCATE name_cursor; 

总结

以上所述是小编给大家介绍的SqlServer批量备份多个数据库且删除3天前的备份,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# sqlserver备份数据库  # sql  # server  # 删除备份  # SqlServer备份数据库的4种方式介绍  # sqlserver备份还原数据库功能封装分享  # sqlserver2005 master与msdb数据库备份恢复过程  # SQLServer 2005 自动备份数据库的方法分享(附图解教程)  # Sqlserver2000 数据库备份实例代码  # asp 在线备份与恢复sqlserver数据库的代码  # sqlserver 自动备份所有数据库的SQL  # sqlserver 数据库日志备份和恢复步骤  # 给大家  # 小编  # 多个  # 在此  # 说了  # 不多  # 所示  # 所述  # 给我留言  # 感谢大家  # 磁盘空间  # 备份文件  # 疑问请  # 有任何  # ms  # DATEPART  # REPLACE  # FETCH_STATUS  # FETCH  # OPEN 


相关文章: ,制作一个手机app网站要多少钱?  c++怎么用jemalloc c++替换默认内存分配器【性能】  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  如何在Golang中指定模块版本_使用go.mod控制版本号  如何选择靠谱的建站公司加盟品牌?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  建站之星logo尺寸如何设置最合适?  建站之星后台管理:高效配置与模板优化提升用户体验  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  建站之家VIP精选网站模板与SEO优化教程整合指南  如何批量查询域名的建站时间记录?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  如何在服务器上配置二级域名建站?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  如何在阿里云高效完成企业建站全流程?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  制作网站外包平台,自动化接单网站有哪些?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  建站主机服务器选购指南:轻量应用与VPS配置解析  重庆市网站制作公司,重庆招聘网站哪个好?  三星网站视频制作教程下载,三星w23网页如何全屏?  Android自定义控件实现温度旋转按钮效果  图册素材网站设计制作软件,图册的导出方式有几种?  网页设计与网站制作内容,怎样注册网站?  如何通过虚拟主机快速完成网站搭建?  如何在Windows环境下新建FTP站点并设置权限?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  如何正确下载安装西数主机建站助手?  如何获取开源自助建站系统免费下载链接?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  建站之星如何实现五合一智能建站与营销推广?  制作营销网站公司,淘特是干什么用的?  如何快速搭建自助建站会员专属系统?  如何快速搭建安全的FTP站点?  如何选择香港主机高效搭建外贸独立站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  官网网站制作腾讯审核要多久,联想路由器newifi官网  如何用狗爹虚拟主机快速搭建网站?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何用PHP快速搭建CMS系统?  如何制作一个表白网站视频,关于勇敢表白的小标题?  Android使用GridView实现日历的简单功能  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  如何选择最佳自助建站系统?快速指南解析优劣  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  如何在景安服务器上快速搭建个人网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。