1.編寫WindowsService,在服務內調用備份數據庫方法。
2.使用Windows自帶的計劃任務。(推薦使用)。
下面就由我來介紹一下如何用計劃任務實現數據庫備份的,操作步驟如下:
1. 首先建立一個windows任務計劃,打開任務計劃向導,選擇指定的的exe文件,該文件名為SQLCMD.EXE,位于x:\Program Files\Microsoft SQL Server\90\Tools\Binn 目錄下。
2.然后選擇執行周期,假設選擇每天上午9點,接著輸入Windows用戶名和密碼。
3.在任務計劃向導完成前勾選 “在單擊完成時,打開此任務的高級屬性”這個CheckBox。
4.修改運行命令為:sqlcmd -S .\SQLEXPRESS -E -i e:\Backup\Backup.sql
注:.\SQLEXPRESS 是你的數據庫實例, e:\Backup\Backup.sql 磁盤位置可任意更改。Backup.sql 文件內容為:
exec [sp_BackupDatabase] '需要備份的數據庫名','F'go
6.在你Master數據庫內執行該段存儲過程,該存儲過程被Windows計劃調用。
--?=============================================?
--?Author:?RyanDing? --?Create?date:?2010-10-10 --?Description:?備份數據庫 --?Parameter1:?數據庫名 --?Parameter2:?備份類型?F=全部,?D=差異,?L=日志 --?=============================================? CREATE?PROCEDURE?[dbo].[sp_BackupDatabase]?? ???????@databaseName?sysname,?@backupType?CHAR(1)? AS? BEGIN? ???????SET?NOCOUNT?ON;? ???????DECLARE?@sqlCommand?NVARCHAR(1000)? ???????DECLARE?@dateTime?NVARCHAR(20)? ???????SELECT?@dateTime?=?REPLACE(CONVERT(VARCHAR,?GETDATE(),111),'/','')?+? ???????REPLACE(CONVERT(VARCHAR,?GETDATE(),108),':','')?? ???????IF?@backupType?=?'F'? ???????????????SET?@sqlCommand?=?'BACKUP?DATABASE?'?+?@databaseName?+? ???????????????'?TO?DISK?=?''C:\Backup\'?+?@databaseName?+?'_Full_'?+?@dateTime?+?'.BAK'''? ???????? ???????IF?@backupType?=?'D'? ???????????????SET?@sqlCommand?=?'BACKUP?DATABASE?'?+?@databaseName?+? ???????????????'?TO?DISK?=?''C:\Backup\'?+?@databaseName?+?'_Diff_'?+?@dateTime?+?'.BAK''?WITH?DIFFERENTIAL'? ???????? ???????IF?@backupType?=?'L'? ???????????????SET?@sqlCommand?=?'BACKUP?LOG?'?+?@databaseName?+? ???????????????'?TO?DISK?=?''C:\Backup\'?+?@databaseName?+?'_Log_'?+?@dateTime?+?'.TRN'''? ???????? ???????EXECUTE?sp_executesql?@sqlCommand? END go |
執行計劃任務后 查看C盤Backup目錄下生成的bak數據庫備份文件。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
