如何讓SQL Server自動定時備份數據庫并按日期命名
通常備份的方式有兩種:手動備份和自動備份,如果數據庫服務器中有這么多的數據庫需要備份,那么手動備份必定是一個很大的工作量,這個時候我們可以采用另外一種備份方式---定時自動備份。
SQLServer的維護計劃里面自帶了備份數據庫任務,但不會自動按日期命名,不方便,下面的方法是以存儲過程來解決的,以sql2000為例:
首先要確認SQL Server Agent服務是在啟動狀態,
下一步,我們來創建作業,在創建作業之前,我們需要創建備份數據庫及命名的存儲過程
比如是對TestDB操作,打開查詢分析器,把下面的存儲過程拷到里面執行下就行了,當然了,命名規則可以自動更改
- USE [TestDB]
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE PROCEDURE [BackupDatabase](@FolderPath varchar(500))
- as
- DECLARE @FullPath varchar(1000)
- set @FullPath = @FolderPath+ 'TestDB_'+convert(VARCHAR(4),year(getdate()))+right( '0'+convert(VARCHAR(2),MONTH(getdate())),2)+right('0'+convert(VARCHAR(2),DAY(getdate())),2)+ '.bak'
- backup database [TestDB] to disk=@FullPath WITH INIT
- return
這樣就創建了一個BackupDatabase的存儲過程。
下面來創建作業吧。
常規里添加名稱,選擇下分類就行了,下面的步驟很重要。
添加步驟的時候,有點很重要,就是執行剛才我們創建的存儲過程如圖
- use [TestDB]
- exec BackupDatabase 'E:\SqlData\TestDB\'
最后設置下自動備份的時間,也就是調度下即可
這樣我們就創建一個這樣定時備份數據庫,以時間命名的作業。
到了指定的時間會自動執行備份數據庫,其他的sql2005和sql2008和sql2000大同小異。
關于SQL Server定時自動備份數據庫的知識就介紹這些,如果您想了解更多SQL Server數據庫的知識,這里的文章不容錯過哦:http://database.51cto.com/sqlserver/。
【編輯推薦】