Frank Sun Blog on GitHub

SQL Server Express 自動備份

2017-09-21

前言

URL Rewrite


  最近碰到設定 SQL Server 排程備份的問題,我們一般知道在「管理」下的「維護計劃」使用維護計劃精靈去設定,但如果很可惜的你是 Express 那就需要其他的方法來輔助備份了。

.bat檔與工作排程器

Step 1. 建立 .sql

Declare @DBName varchar(MAX)
Declare @FileName Varchar(MAX)
Declare @Folder Varchar(MAX)
Declare @DateTimes Varchar(20)
 
--要備份的資料庫名稱
SET @DBName='DatabaseName'
 
--儲存備份檔的路徑
SET @Folder='D:\DBbackUp'
 
--定義備份檔名稱,後面我加上年月日yyyymmdd
SET @DateTimes = Convert(varchar(20), GETDATE(), 112)
SET @FileName=@Folder + @DBName + '_' + @DateTimes + '.bak'
 
--執行備份
BackUp Database @DBName To Disk=@FileName

Step 2. 建立.bat執行.sql

  這邊如果你想測試的話,可以先使用 pause 替代 exit,確認沒問題再改回來就好了。

  localhost 可改成你的 IP 位置。

sqlcmd -S localhost\SQLEXPRESS -E -i D:\DBbackUp\BackUpDB.sql
exit

Step 3. 加入工作排程器

照以下圖片順序操作

  1. 點「建立基本工作…」

    工作排程器1

  2. 輸入名稱及描述

    工作排程器2

  3. 選擇多久執行一次

    工作排程器3

  4. 調整基準日期及時間間格

    工作排程器4

  5. 啟動程式

    工作排程器5

  6. 選擇要執行的 .bat 檔

    工作排程器6

  7. 完成

    工作排程器7

補充

如果你的「維護計劃精靈」開啟出現錯誤,可執行以下 SQL 指令將 Agent XPs 的元件打開

sp_configure 'show advanced options', 1; 
GO 
RECONFIGURE; 
GO 
sp_configure 'Agent XPs', 1; 
GO 
RECONFIGURE 
GO

Similar Posts

上一篇 Bash on Windows

Comments

Translator
Google AdSense
BloggerAds