溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

這怎么在SQL Server編寫一個自動備份腳本

發(fā)布時間:2021-04-08 15:28:50 來源:億速云 閱讀:292 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了這怎么在SQL Server編寫一個自動備份腳本,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1. 創(chuàng)建SQL腳本

新建db_backup.sql文件,填入以下內(nèi)容。

-- 定義需要備份的數(shù)據(jù)庫
DECLARE @backupDatabase VARCHAR(20) = 'DB_NAME'

-- 定義數(shù)據(jù)庫備份文件存放的基礎(chǔ)路徑
DECLARE @backupBasePath VARCHAR(MAX) = 'D:/DB_NAME/'

-- 定義備份文件名,文件名格式:<DB>_backup_<yyyyMMdd>_<HH:mm:ss.SSS>.bak
DECLARE @backupFileName VARCHAR(50) = NULL

-- 獲取當前時間戳
DECLARE @backupTime DATETIME = CURRENT_TIMESTAMP

-- 處理備份文件名稱
SET @backupFileName = @backupDatabase + '_backup_' + CONVERT(VARCHAR(25), @backupTime, 112) + '_' + REPLACE(CONVERT(VARCHAR(25), CURRENT_TIMESTAMP, 114), ':', '') + '.bak'

-- 處理完整的備份文件路徑
SET @backupBasePath = @backupBasePath + @backupFileName

-- 執(zhí)行備份
BACKUP DATABASE @backupDatabase TO DISK = @backupBasePath

腳本內(nèi)容比較簡單,這里就不展開說了。詳情可查看:BACKUP (Transact-SQL)。

到這里已經(jīng)可以使用腳本對數(shù)據(jù)庫進行備份,但仍需手動執(zhí)行腳本,無法實現(xiàn)自動定時備份的需求。

2. 創(chuàng)建批處理腳本

新建db_backup.bat文件,填入以下內(nèi)容。

sqlcmd -S localhost -U sa -P 123 -i ./db_backup.sql -o ./db_backup.log	

以下為使用到的各個選項的解釋:

sqlcmd -S <數(shù)據(jù)庫連接地址> -U <數(shù)據(jù)庫登錄名> -P <數(shù)據(jù)庫密碼> -i <要執(zhí)行的腳本文件> -o <執(zhí)行日志文件>

更多選項請執(zhí)行sqlcmd -?查看或者查看:sqlcmd 實用工具。

雙擊執(zhí)行批處理文件,如果沒有報錯且正常輸出日志文件,則說明批處理腳本創(chuàng)建成功。

3. 創(chuàng)建Windows任務(wù)計劃

使用win+r快捷鍵打開運行對話框,輸入taskschd.msc打開任務(wù)計劃程序對話框,點擊創(chuàng)建任務(wù),依次進行以下步驟:

  1. 輸入任務(wù)名稱

  2. 如果是服務(wù)器環(huán)境,安全選項中務(wù)必選擇不管用戶是否登錄都要運行

  3. 新建觸發(fā)器

  4. 設(shè)置觸發(fā)器為按預(yù)定計劃執(zhí)行一次

  5. 在觸發(fā)器高級設(shè)置中選擇重復(fù)任務(wù)間隔根據(jù)需要設(shè)置,持續(xù)時間設(shè)置為無限期。這樣配置的結(jié)果就是在觸發(fā)后,無限期地每隔xx時間段重復(fù)一次

  6. 新建操作

  7. 選擇剛才新建的批處理腳本

  8. 檢查批處理腳本中是否包含有關(guān)目錄結(jié)構(gòu)的語句,比如需要讀寫某個位置的文件。如果有且是Windows Server 2012及以后的操作系統(tǒng),就需要配置起始位置,起始位置設(shè)置為批處理的目錄即可。

這怎么在SQL Server編寫一個自動備份腳本

這怎么在SQL Server編寫一個自動備份腳本

這怎么在SQL Server編寫一個自動備份腳本

上述內(nèi)容就是這怎么在SQL Server編寫一個自動備份腳本,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI