Sql Server 資料庫的定時備份

來源:互聯網
上載者:User
 

資料庫的定時備份Database Backup是一項非常重要的工作,如果有碰到過資料丟失或伺服器出現故障或其他需要用到備份檔案的時候,這項工作就顯得更加重要。但如果每次都手工備份則顯得非常麻煩,那有沒有什麼辦法可以讓系統自動備份呢?當然有。如何做?請跟我來。以下樣本以SQL Server 2005 為例。1.          建立一個要備份檔案的目錄,例如在E盤建一個Backup的目錄,然後再在這個目錄下面建立要備份資料庫所對應的目錄。例如我有兩個資料庫(TEST和KR)是要自動備份的,則需要在Backup建立兩個子目錄:TEST和KR這樣主要是為了看起來比較清楚。2.          建立備份檔案的預存程序BackupDataBase每天0:00做一個完整備份,然後每過若干小時做一次差異備份,如果資料庫比較小則一天產生一個檔案就可以了,即完整備份的bak檔案與差異備份的檔案就是同一個檔案。而如果資料庫比較大則建議每次差異備份時產生一個獨立的檔案。指令碼如下(以下為每天產生一個檔案,如果是第二種情況則需要做相應修改):/*********    PROC :BackupDataBase    USE:備份資料庫   CREATE BY:MARK    CREATE Date:2007/6/4    EXAM:EXEC BackupDataBase    **********/        CREATE PROC BackupDataBase    AS    BEGIN     DECLARE @SQL NVARCHAR(4000)     IF CONVERT(CHAR(5),GETDATE(),108)='00:00'        BEGIN          SET @SQL='BACKUP DATABASE [TEST] TO DISK = N' +''''+'E:/Backup/TEST/TEST'                 + CONVERT(CHAR(8),GETDATE(),112)+'.bak'                 +''''+'WITH NOFORMAT, NOINIT, NAME = N' +''''+'TEST-FullBackup'                  +''''+', SKIP, NOREWIND, NOUNLOAD, STATS = 10'         END     ELSE        BEGIN          SET @SQL='BACKUP DATABASE [TEST] TO DISK = N' +''''+'E:/Backup/TEST/TEST'                 + CONVERT(CHAR(8),GETDATE(),112)+'.bak'                 +''''+'WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N'                 +''''+'TEST-' +CONVERT(CHAR(5),GETDATE(),108)                 +''''+', SKIP, NOREWIND, NOUNLOAD, STATS = 10'        END            EXEC(@SQL)         END3.          建立自動備份的Job(作業)3.1選擇【物件總管】-->【Sql Server代理】-->【作業】,單擊滑鼠右鍵,在彈出的菜單中選擇【新增作業(N)…】,在常規選項裡面的名稱輸入作業名稱,此處輸入“AutoBackTest”3.2選擇【步驟】,點擊【建立(N)…】,彈出【作業步驟屬性】對話方塊,在步驟名稱裡面輸入“AutoBackup”,資料庫選擇你要備份的資料庫,例如TEST,在命令裡面輸入:EXEC BackupDataBase ,然後點擊【確定】3.3選擇【計劃】,點擊【建立(N)…】,彈出【作業計劃屬性】對話方塊,在名稱裡面輸入“EveryDay”,在計劃類型裡面選擇“重複執行”,並且把【已啟用】前面的鉤選中。3.4在頻率的執行裡面選擇“每天”,【執行間隔】設為“1”天。在每天頻率的設定如下:開始時間:0:00:00, 結束時間:23:59:59.執行間隔自己設定一個時間就可以了,例如2小時。期間選擇【無結束日期】,然後點擊【確定】。3.5其他幾個選擇是次要的可以不設定,最後點擊【確定】。 這樣的話就可以了,另外需要把Sql Server Agent服務設為“自動”。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.