歡迎您, 游客
用戶名: 密碼: 密鑰 記住我
  • 頁碼:
  • 1

話題:

mssql-利用批次檔+sql指令碼備份多個資料庫 7 年 1 個月 之前 #38

  • jimmy
  • jimmy 的頭像 話題作者
  • 離線
  • 帖子: 39
由於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

登入 來參與討論

最後修改: 作者: jimmy.
  • 頁碼:
  • 1
頁面執行時間: 0.128 秒