西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程數(shù)據(jù)庫教程 → 設(shè)計幾個SqlServerExpress2005 自動備份的方案

設(shè)計幾個SqlServerExpress2005 自動備份的方案

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:ryanding時間:2010/11/19 9:59:24字體大。A-A+

作者:ryanding點擊:134次評論:0次標簽: SqlServer 備份

  • 類型:數(shù)據(jù)庫類大小:594KB語言:中文 評分:7.7
  • 標簽:
立即下載

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

1.編寫WindowsService,在服務(wù)內(nèi)調(diào)用備份數(shù)據(jù)庫方法。

2.使用Windows自帶的計劃任務(wù)。(推薦使用)。

下面就由我來介紹一下如何用計劃任務(wù)實現(xiàn)數(shù)據(jù)庫備份的,操作步驟如下:

1. 首先建立一個windows任務(wù)計劃,打開任務(wù)計劃向?qū)Вx擇指定的的exe文件,該文件名為SQLCMD.EXE,位于x:\Program Files\Microsoft SQL Server\90\Tools\Binn 目錄下。

2.然后選擇執(zhí)行周期,假設(shè)選擇每天上午9點,接著輸入Windows用戶名和密碼。

3.在任務(wù)計劃向?qū)瓿汕肮催x “在單擊完成時,打開此任務(wù)的高級屬性”這個CheckBox。

4.修改運行命令為:sqlcmd -S .\SQLEXPRESS -E -i e:\Backup\Backup.sql

注:.\SQLEXPRESS 是你的數(shù)據(jù)庫實例, e:\Backup\Backup.sql 磁盤位置可任意更改。Backup.sql 文件內(nèi)容為:

exec [sp_BackupDatabase] '需要備份的數(shù)據(jù)庫名','F'go
6.在你Master數(shù)據(jù)庫內(nèi)執(zhí)行該段存儲過程,該存儲過程被Windows計劃調(diào)用。
-- =============================================
--
Author: RyanDing
--
Create date: 2010-10-10
--
Description: 備份數(shù)據(jù)庫
--
Parameter1: 數(shù)據(jù)庫名
--
Parameter2: 備份類型 F=全部, D=差異, L=日志
--
=============================================
CREATEPROCEDURE[dbo].[sp_BackupDatabase] 
      
@databaseName sysname, @backupTypeCHAR(1)
AS
BEGIN
      
SET NOCOUNT ON;

      
DECLARE@sqlCommandNVARCHAR(1000)
      
DECLARE@dateTimeNVARCHAR(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

執(zhí)行計劃任務(wù)后 查看C盤Backup目錄下生成的bak數(shù)據(jù)庫備份文件。

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

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)