當前位置:
首頁 > 最新 > C#編寫強大的SQL Server資料庫自動備份服務

C#編寫強大的SQL Server資料庫自動備份服務

來源:聽風.

cnblogs.com/bq-blog/p/9428610.html

資料庫自動備份服務,帶配置,還算可以。

編寫了一個這樣的工具,可以讓對資料庫不了解或不熟悉的人,直接學會使用備份,省時省力。同樣我也將一份,通過腳本進行備份的,也奉獻上來。

一、通過sql腳本進行資料庫備份

通過腳本備份資料庫,同樣也支持壓縮,但是需要安裝winrar來實現,整體來說也還行,在伺服器上創建一個 維護計劃,就可以實現,也是很方便的,腳本如下:

EXEC sp_configure "show advanced options", 1;

RECONFIGURE;

EXEC sp_configure "xp_cmdshell", 1;

RECONFIGURE;

declare @prefix nvarchar(100),

@datefile nvarchar(100),

@bakfile nvarchar(100),

@rarfile nvarchar(100),

@rarcmd nvarchar(150),

@str_date nvarchar(100),

@sql nvarchar(100)

--設置備份的目錄

set @prefix="D:/DataBase/"

set @str_date = replace(replace(replace(convert(varchar(20),getdate(), 120)," ",""),"-",""),":","")

set @datefile = "xx" +@str_date

set @bakfile = @prefix+@datefile+".bak"

set @rarfile = @prefix+@datefile+".rar"

--備份

BACKUP Database mpe_db_Data TO DISK = @bakfile WITH NOFORMAT, NOINIT, NAME = N"xx-完整 資料庫 備份", SKIP, NOREWIND, NOUNLOAD, STATS = 10

--壓縮rar

set @rarcmd =""c:Program FilesWinRARwinrar.exe" " +"a -df " +@rarfile+" "+@bakfile

exec master..xp_cmdshell @rarcmd,NO_OUTPUT;

別問我代碼都是幹啥的,無非就是打開許可權,創建變數、時間戳的文件名、備份腳本、啟動備份,哈哈。都說完了,你也不用問了,

你是不是要問,那刪除文件呢?

--刪除15天之前的備份

set @sql="del d:DataBasexx" +rtrim(replace(replace(replace(convert(varchar(20),getdate()-15, 120)," ",""),"-",""),":",""))+".rar"

為啥刪除15天的?你想刪除多少天,自己寫, -15 的15,隨你填寫。

好了,言歸正傳,下面是我編寫的windows 服務實現,請看:

二、通過C#編寫的windows服務進行資料庫備份

使用方法如下

通過 服務部署工具.bat 配置和安裝windows服務

圖1:使用管理員,打開部署腳本

圖2:根據指示進行配置操作,輸入1 是進入配置

圖3:配置界面

圖4:安裝完成後,啟動服務

好了,全部操作演示完畢,是不是說,那麼師傅,代碼呢?

看完本文有收穫?請轉發分享給更多人

關注「DotNet」,提升.Net技能

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 DotNet 的精彩文章:

TAG:DotNet |