程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> Sql Server Express2005 實現自動備份

Sql Server Express2005 實現自動備份

編輯:關於SqlServer

眾所周知SqlServerExpress2005 屬於簡裝版,安裝程序五六十兆,在客戶的服務器上部署時很暢快。但該數據庫無Agent這樣對我們進行定時備份保護數據安全帶來了麻煩。為了定時備Express2005數據庫,可以采取以下方案:

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數據庫備份文件。

最後,希望本篇文章可以幫您解決問題。


作者:RyanDing
出處:http://www.cnblogs.com/ryanding/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。如有問題,可以通過 [email protected] 聯系我。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved