因服務(wù)器安裝的SQL Server版本不支持自動定時備份,需自行實現(xiàn),大概思路為:
新建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)自動定時備份的需求。
新建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)建成功。
使用win
+r
快捷鍵打開運行對話框,輸入taskschd.msc
打開任務(wù)計劃程序對話框,點擊創(chuàng)建任務(wù),依次進行以下步驟:
完成以上步驟后即創(chuàng)建任務(wù)成功,然后選中新創(chuàng)建的任務(wù),點擊右鍵選擇運行,可測試任務(wù)是否可正常執(zhí)行。
到此這篇關(guān)于SQL Server使用腳本實現(xiàn)自動備份的思路詳解的文章就介紹到這了,更多相關(guān)sqlserver自動備份內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!