婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SqlServer批量備份多個數據庫且刪除3天前的備份

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備份數據庫的4種方式介紹
  • sqlserver備份還原數據庫功能封裝分享
  • sqlserver2005 master與msdb數據庫備份恢復過程
  • SQLServer 2005 自動備份數據庫的方法分享(附圖解教程)
  • Sqlserver2000 數據庫備份實例代碼
  • asp 在線備份與恢復sqlserver數據庫的代碼
  • sqlserver 自動備份所有數據庫的SQL
  • sqlserver 數據庫日志備份和恢復步驟

標簽:宿州 防疫戰設 來賓 威海 天水 七臺河 益陽 銅仁

巨人網絡通訊聲明:本文標題《SqlServer批量備份多個數據庫且刪除3天前的備份》,本文關鍵詞  SqlServer,批量,備份,多個,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SqlServer批量備份多個數據庫且刪除3天前的備份》相關的同類信息!
  • 本頁收集關于SqlServer批量備份多個數據庫且刪除3天前的備份的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 周口市| 广宁县| 怀宁县| 乌拉特前旗| 军事| 阳江市| 汉沽区| 库伦旗| 平利县| 德清县| 扶余县| 双柏县| 吉安县| 兴安县| 黄浦区| 新竹市| 永新县| 友谊县| 普安县| 绥宁县| 高雄县| 竹山县| 兴海县| 新闻| 江阴市| 永善县| 海淀区| 凤阳县| 黄石市| 乌恰县| 车致| 临沂市| 迭部县| 民丰县| 临洮县| 全州县| 成都市| 吴川市| 安乡县| 深州市| 宣威市|