您好,登錄后才能下訂單哦!
本篇文章為大家展示了這怎么在SQL Server編寫一個自動備份腳本,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1. 創建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
文件,填入以下內容。
sqlcmd -S localhost -U sa -P 123 -i ./db_backup.sql -o ./db_backup.log
以下為使用到的各個選項的解釋:
sqlcmd -S <數據庫連接地址> -U <數據庫登錄名> -P <數據庫密碼> -i <要執行的腳本文件> -o <執行日志文件>
更多選項請執行sqlcmd -?
查看或者查看:sqlcmd 實用工具。
雙擊執行批處理文件,如果沒有報錯且正常輸出日志文件,則說明批處理腳本創建成功。
使用win
+r
快捷鍵打開運行對話框,輸入taskschd.msc
打開任務計劃程序對話框,點擊創建任務,依次進行以下步驟:
輸入任務名稱
如果是服務器環境,安全選項中務必選擇不管用戶是否登錄都要運行
新建觸發器
設置觸發器為按預定計劃執行一次
在觸發器高級設置中選擇重復任務間隔根據需要設置,持續時間設置為無限期。這樣配置的結果就是在觸發后,無限期地每隔xx時間段重復一次
新建操作
選擇剛才新建的批處理腳本
檢查批處理腳本中是否包含有關目錄結構的語句,比如需要讀寫某個位置的文件。如果有且是Windows Server 2012及以后的操作系統,就需要配置起始位置,起始位置設置為批處理的目錄即可。
上述內容就是這怎么在SQL Server編寫一個自動備份腳本,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。