因服務器安裝的SQL Server版本不支持自動定時備份,需自行實現,大概思路爲:sql
新建db_backup.sql文件,填入如下內容。數據庫
-- 定義須要備份的數據庫 DECLARE @backupDatabase VARCHAR(20) = 'DB_NAME' -- 定義數據庫備份文件存放的基礎路徑 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 -- 執行備份 BACKUP DATABASE @backupDatabase TO DISK = @backupBasePath
腳本內容比較簡單,這裏就不展開說了。詳情可查看:BACKUP (Transact-SQL)。安全
到這裏已經能夠使用腳本對數據庫進行備份,但仍需手動執行腳本,沒法實現自動定時備份的需求。服務器
新建db_backup.bat文件,填入如下內容。ide
sqlcmd -S localhost -U sa -P 123 -i ./db_backup.sql -o ./db_backup.log
如下爲使用到的各個選項的解釋:工具
sqlcmd -S <數據庫鏈接地址> -U <數據庫登陸名> -P <數據庫密碼> -i <要執行的腳本文件> -o <執行日誌文件>
更多選項請執行sqlcmd -?查看或者查看:sqlcmd 實用工具。測試
雙擊執行批處理文件,若是沒有報錯且正常輸出日誌文件,則說明批處理腳本建立成功。url
使用win+r快捷鍵打開運行對話框,輸入taskschd.msc打開任務計劃程序對話框,點擊建立任務,依次進行如下步驟:操作系統
完成以上步驟後即建立任務成功,而後選中新建立的任務,點擊右鍵選擇運行,可測試任務是否可正常執行。.net