對開發人員來說數據庫備份是非常重要的,無論是正常開發的版本保留還是運維數據的備份,昨天備份數據庫時發現點問題整理下供大家參考:
本文是拿sql server 2008 r2為例的
1.數據庫本身就有自帶的數據庫備份,在數據庫-管理-維護計划右鍵新建維護計划(維護計划向導效果一樣),在彈出窗口中輸入計划名稱(MMDBBackUp),
確認后,在整個窗口左下角將”備份數據“任務拖到設計界面,然后右鍵進行編輯,編輯內容包括數據庫選擇、備份到磁盤、存放路徑、驗證數據庫完整性、
設置備份壓縮(使用服務器默認設置), 確定完成設置(圖片過大,沒有給敬請諒解)。這樣備份設置就完成了,下面設置什么時間執行,在子計划中點擊日
歷圖標,執行相關的時間設置,設置完后確定就完成了數據庫任務計划備份。





2.遠程數據庫備份:通過作業的方式實現遠程數據庫備份,把192.168.35.96的數據庫備份到192.168.35.104,具體設置如下:
在sql server代理右鍵啟動--作業右鍵新建作業--常規選項中填寫作業名稱、類別(數據庫維護)--》步驟--新建步驟--配置相關信息(包括SQL腳本)--確定
--》計划--新建計划--配置相關信息。
SQL 腳本:
exec master..xp_cmdshell 'net use \\192.168.35.104\測試96備份 password123 /user: 192.168.35.104\administrator'
declare @ss varchar(50)
set @ss = convert(varchar(100),GetDate(),112)
set @ss ='\\192.168.35.104\\測試96備份\'+@ss+'.bak'
backup database MRDB to disk=@ss WITH FORMAT
exec master..xp_cmdshell'net use \\192.168.35.104\\測試96備份 /delete'
原理:利用xp_cmdshell創建一個網絡映射,把備份好的數據庫,存放到映射盤符中,測試96備份是192.168.35.104服務器的一個允許讀寫的共享文件夾,
執行完成后,把映射刪除掉,釋放資源。
SQL 腳本解析: \\192.168.35.104\測試96備份是一個網絡允許讀寫的共享路徑
password123是104服務器的登錄密碼
192.168.35.104\administrator是104服務器的登錄用戶名
@ss是確定備份后的路徑以及備份文件名(\\192.168.35.104\\測試96備份\20140625.bak)
WITH FORMAT可以做到覆蓋任何現有備份和創建新媒體集
xp_cmdshell一般的數據庫會放到安全設置里面,需要把它開啟:
執行: 啟用sql備份命令
EXEC sp_configure 'show advanced options', 1;-- 允許配置高級選項
RECONFIGURE;-- 重新配置
EXEC sp_configure 'xp_cmdshell', 1;-- 開啟xp_cmdshell
RECONFIGURE;-- 重新配置
步驟部分參考圖:

