一、使用作業
1、開啟SQL Server Management Studio
2、啟動SQL Server代理
3、點擊作業->新增作業
4、"常規"中輸入作業的名稱
5、建立步驟,類型選T-SQL,在下面的命令中輸入下面語句
DECLARE @strPath NVARCHAR(200)
set @strPath = convert(NVARCHAR(19),getdate(),120)
set @strPath = REPLACE(@strPath, ':' , '.')
set @strPath = 'D:\bak\' + 'databasename'+@strPath + '.bak'
BACKUP DATABASE [databasename] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT
(D:\bak\改為自己的備份路徑,databasename修改為想備份的資料庫的名稱)
6、添加計劃,設定頻率,時間等。
確定,完成。
以上資訊資訊來自百度空間:http://hi.baidu.com/_zhangchengfeng/blog/item/5c13c118a96657b14aedbc49.html
二。使用SQL2005的維護計劃自動備份(不推薦)
SQL2005的維護計劃裡面內建了備份資料庫任務,但不會自動按日期命名,不方便,下面的方法是以預存程序來解決的。
要用SQL2005的維護計劃功能首先要確認SQL Server Agent服務是在啟動狀態,然後開啟SQL Server Management Studio,展開物件總管裡的“管理”,右擊維護計劃選擇建立維護計劃,為維護計劃命名,如:TestDB_Backup,選擇預設的子計劃 “Subplan_1 ”並點擊上方的子計劃設定按鈕來設定子計劃執行方式和時間:
出現設定介面,設定每天3點執行一次,
確定後儲存一下,然後建立一個查詢頁,開始建立預存程序,代碼如下:
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
設定完畢,切換回維護計劃設定頁面,在左邊的工具箱中拖入一個“執行T-SQL語句任務”:
雙擊拖入後的“執行T-SQL語句任務”,輸入執行預存程序的語句來完成每天的自動備份工作,代碼如下:
use [TestDB]
exec BackupDatabase ‘E:\SqlData\TestDB\’
確定後儲存該維護計劃即可。為了保證該維護計劃不會出現問題,可以先執行一下以上語句測試一下。
SQL2000下使用此方法與SQL2005大同小異。
總結了一下:第二種方法太過於繁瑣,所以不推薦使用