如何讓SQL Server自動定時(shí)備份數(shù)據(jù)庫并按日期命名
通常備份的方式有兩種:手動備份和自動備份,如果數(shù)據(jù)庫服務(wù)器中有這么多的數(shù)據(jù)庫需要備份,那么手動備份必定是一個(gè)很大的工作量,這個(gè)時(shí)候我們可以采用另外一種備份方式---定時(shí)自動備份。
SQLServer的維護(hù)計(jì)劃里面自帶了備份數(shù)據(jù)庫任務(wù),但不會自動按日期命名,不方便,下面的方法是以存儲過程來解決的,以sql2000為例:
首先要確認(rèn)SQL Server Agent服務(wù)是在啟動狀態(tài),
下一步,我們來創(chuàng)建作業(yè),在創(chuàng)建作業(yè)之前,我們需要?jiǎng)?chuàng)建備份數(shù)據(jù)庫及命名的存儲過程
比如是對TestDB操作,打開查詢分析器,把下面的存儲過程拷到里面執(zhí)行下就行了,當(dāng)然了,命名規(guī)則可以自動更改
- 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
這樣就創(chuàng)建了一個(gè)BackupDatabase的存儲過程。
下面來創(chuàng)建作業(yè)吧。
常規(guī)里添加名稱,選擇下分類就行了,下面的步驟很重要。
添加步驟的時(shí)候,有點(diǎn)很重要,就是執(zhí)行剛才我們創(chuàng)建的存儲過程如圖
- use [TestDB]
- exec BackupDatabase 'E:\SqlData\TestDB\'
最后設(shè)置下自動備份的時(shí)間,也就是調(diào)度下即可
這樣我們就創(chuàng)建一個(gè)這樣定時(shí)備份數(shù)據(jù)庫,以時(shí)間命名的作業(yè)。
到了指定的時(shí)間會自動執(zhí)行備份數(shù)據(jù)庫,其他的sql2005和sql2008和sql2000大同小異。
關(guān)于SQL Server定時(shí)自動備份數(shù)據(jù)庫的知識就介紹這些,如果您想了解更多SQL Server數(shù)據(jù)庫的知識,這里的文章不容錯(cuò)過哦:http://database.51cto.com/sqlserver/。
【編輯推薦】