由於Express 沒有維護計劃,因此需使用排程來自動備份,微軟有教學請看
這裡
下面是我將這教學結合批次檔改成適合自己用的,提供出來給大家參考:
批次檔內容:
@echo off
rem 資料庫IP\資料庫執行個體名稱
set dbIp=stanley\SQL2014
rem 資料庫名稱
set dbName=TSQL2014
rem 登入帳號
set dbUsrAcc=ImDeveloper
rem 使用者密碼
set dbUsrPwd=Passw0rd
rem 清單.SQL檔放置路徑
set dbSqlFilePath=":d:\db_script\list.sql"
rem 程式開始執行
cd %batchFilePath%
sqlcmd -S %dbIp% -d %dbName% -U %dbUsrAcc% -P %dbUsrPwd% -i %dbSqlFilePath% >view.log
@echo on
list.sql 內容:
(sql01~06和bat檔同目錄)
:r .\sql01.sql
:r .\sql02.sql
:r .\sql03.sql
:r .\sql04.sql
:r .\sql05.sql
:r d:\db_script\sql06.sql
sql01.sql內容:
DECLARE @DBName varchar(20)
Declare @FileName Varchar(50)
Declare @Folder Varchar(50)
Declare @DateTimes Varchar(20)
--要備份的資料庫名稱
SET @DBName='db1'
--儲存備份檔的路徑
SET @Folder='D:\sqlbup\'
--定義備份檔名稱,後面我加上年月日yyyymmdd
SET @DateTimes = Convert(varchar(20), GETDATE(), 112)
SET @FileName=@Folder + @DBName + '_' + @DateTimes + '.BAK'
--執行備份
BackUp Database @DBName To Disk=@FileName