SQLServer Log shipping會將Primary server指定的資料庫做交易紀錄備份排程,自動傳送到secondary server做還原動作,保持資料庫間同步,但在secondary server是可以讀取資料但無法寫入資料的。
測試環境
Hostname | IP |
---|---|
logship1 | 172.31.31.121 |
logship2 | 172.31.31.170 |
建立共享資料夾(ex: logship)
新增「MSSQLSERVER」&「SQLSERVERAGENT」完全控制權限
設定共用權限
建立共享資料夾(ex:logcopy)
新增「MSSQLSERVER」&「SQLSERVERAGENT」完全控制權限
設定共用權限
設定Logshipping
完整備份
(對目標資料庫做備份,必須要是「完整」還原模式)
backup database [db_name]
to disk='[logship path]\[db_name].bak'
go
設定logshipping
目標資料庫右鍵 →工作→ 轉送交易紀錄
設定路徑 & 保留檔案期限 & 警示
將資料庫還原到Secondary server
傳輸檔案
copy \\logship1\logship\test01.bak [Logcopy Path]
還原資料庫
選擇Standby模式
加入Secondary DB
選擇已初始化(代表已經還原資料庫)
設定複製檔案路徑
設定還原交易紀錄
完成之後Primary會產生備份排程
Secondary 會產生複製檔案與還原排程
設定複製排程權限
建立認證
使用Administrator 身份
新增proxy
修改複製檔案排程執行身份
執行備份排程(primary)
執行複製排程(secondary)
執行還原排程(secondary)
LogShipping建置完成