最近在部署一個系統,處於數據安全的考慮,因此對相應的數據庫服務器定時備份,以及數據同步到備份服務上。之前在另外的一個項目中也做過相應的操作,但是操作都是按照查找到的文章一步一步的操作,碰到一些細節問題沒有記錄下來,因而在這次部署過程中在碰到同樣問題的時候自亂腳步,耽誤了很多時間
避免下次需要處理相同情況下能夠調高自己效率,特記錄這一些操作過程
主要備份處理有:
1.Sql Server 代理->作業
通過腳本的方式,通過調用sql自帶的備份服務備份數據庫文件到本地
2.復制->本地訂閱 本地發布
出於考慮到到系統出現奔潰數據丟失的情況,將數據庫同步到備份服務器
Sql Server 代理 作業
第一步
打開Sql Server,連接到到對象服務器,為了避免接下來的操作出現其他的一些操作權限問題,這里在進行連接到服務器的時候,服務器名稱選擇計算器名稱,身份驗證選擇windows身份驗證
第二步
打開Sql Server 代理,如果安裝Sql Server的時候沒有啟動代理服務的話,這時候需要啟動Sql Server代理服務,選擇新建作業,填寫作業名稱
第三步
新建作業步驟,如果需要有多個步驟操作可以新建多個。添加命令,這里使用了rar壓縮,所以需要添加壓縮文件到對應目錄,如果沒有則會在執行作業的時候執行失敗。
use [Topevery]; declare @filename varchar(10) set @filename = CONVERT(varchar(8),GETDATE(),112 ) declare @path varchar(200) set @path='C:\bakdb\'+@filename+'.bak' backup database [Topevery] to disk=@path with noinit declare @cabpath varchar(200) set @cabpath='C:\bakdb\'+substring(@filename,1,10)+'.rar' print @cabpath declare @cmdRar varchar(200) set @cmdRar = 'C:\rar.exe a -ag '+@cabpath+' '+@path exec xp_cmdshell @cmdRar,no_output declare @cmdDel varchar(200) set @cmdDel = 'del '+@path exec xp_cmdshell @cmdDel,no_output
如果沒有啟動xp_cmdshell ,則需要執行以下腳本
sp_configure 'show advanced options',1 reconfigure go sp_configure 'xp_cmdshell',1 reconfigure go
第四步
新建作業計划,主要設置作業的工作周期,可以設置詳細的操作參數,還有其他的一些設置,比如警報,通知,目標由於沒有這次沒有應用到就沒有記錄了。
第五步
測試結果,選擇對應的新建作業選擇作業開始步驟,如果成功就會在相應的文件目錄下生成對應的備份文件,失敗則需要在錯誤日志查看失敗原因。
5.1這里在操作的時候由於腳本填寫錯誤在去修改步驟的時候出現了以下錯誤,在網絡上查找了文檔,主要Com組件的問題。這里拷貝一份解決方案放到文中
32位操作系統:
打開運行(命令提示符),
一、輸入 cd c:\windows\system32 進入到c:\windows\system32路徑中
二、輸入 regsvr32 "C:\Program Files\Microsoft SQL Server\100\DTS\Binn\dts.dll"
64位操作系統:
打開運行(命令提示符),
一、輸入 cd c:\windows\syswow64 進入到c:\windows\syswow64路徑中
二、輸入 regsvr32 "C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\dts.dll"
如果失敗,則以管理員的身份打開運行。
最后重啟Sql Server 代理服務