資源描述:
《sqlserver的主從服務(wù)器配置及歷史痕跡清理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、我們做web應(yīng)用的MySQL接觸的比較多,大家都知道MySQL的備份或者負(fù)載均衡我們會(huì)采用主從復(fù)制技術(shù)。最近工作中接觸到了SQLServer,老板要求也搭起類似的環(huán)境。從而我做了以下研究:一般情況下,SQLServer不叫主從復(fù)制,MS喜歡叫它日志傳送功能。其實(shí)質(zhì)是由兩臺(tái)服務(wù)器的代理作業(yè)完成的,首先基于源庫服務(wù)器的備份機(jī)制,然后將事務(wù)日志定期傳送到目的服務(wù)器,從庫服務(wù)器接收并完成數(shù)據(jù)庫還原操作名詞解釋:源庫服務(wù)器——主庫服務(wù)器目標(biāo)服務(wù)器——從庫服務(wù)器傳送/接收——主從服務(wù)器之間的數(shù)據(jù)傳輸【通過磁盤共享】還原——執(zhí)行日志文件實(shí)現(xiàn)機(jī)制1.登入賬號(hào)由SQLServer2
2、000DTS封裝,將主登入賬號(hào)轉(zhuǎn)移到從服務(wù)器,且執(zhí)行各服務(wù)器間登入帳號(hào)SID之解析動(dòng)作,由Agent完成2.日志傳送主從服務(wù)器的數(shù)據(jù)同步,主要依賴于數(shù)據(jù)庫事務(wù)日志傳送功能。簡單的說就是:備份作業(yè)—>復(fù)制作業(yè)—>還原作業(yè)—>警報(bào)作業(yè)我們可以通過在數(shù)據(jù)創(chuàng)建維護(hù)計(jì)劃中勾選“將事務(wù)日志傳送到其它的SQLServer(日志傳送)”選項(xiàng)。那么,主服務(wù)器SQLServer代理會(huì)生成兩個(gè)作業(yè):1).完整備份作業(yè)2).事務(wù)日志備份作業(yè)從服務(wù)器SQLServer代理會(huì)生成五個(gè)作業(yè):1).事務(wù)日志備份作業(yè)2).日志傳送復(fù)制作業(yè)3).日志還原作業(yè)4).日志備份警報(bào)作業(yè)5).日志恢復(fù)警報(bào)作
3、業(yè)3.角色變更通過SQLServerMSDB預(yù)置存儲(chǔ)過程sp_change_primary_role對主服務(wù)器降級(jí)通過SQLServerMSDB預(yù)置存儲(chǔ)過程sp_change_secondary_role對從服務(wù)器升級(jí)通過SQLServerMSDB預(yù)置存儲(chǔ)過程sp_change_monitor_role通知監(jiān)控服務(wù)器角色變更4.角色互換通過一系列SQLServerMSDB預(yù)置存儲(chǔ)過程清除之前日志傳送信息在新主服務(wù)器和從服務(wù)器之間創(chuàng)建新的日志傳送維護(hù)計(jì)劃,參考“日志傳送實(shí)施步驟a.準(zhǔn)備工作,創(chuàng)建配置存儲(chǔ)目錄完整備份目錄,事務(wù)日志備份目錄,預(yù)留從日志復(fù)制目錄需要設(shè)置屬
4、性為共享,權(quán)限為完全控制b.創(chuàng)建數(shù)據(jù)庫維護(hù)計(jì)劃在創(chuàng)建數(shù)據(jù)庫備份計(jì)劃中“將事務(wù)日志傳送到其它的SQLServer(日志傳送)”,只有選中此項(xiàng)才會(huì)啟動(dòng)日志傳送作業(yè)按照提示下一步,根據(jù)上面的存儲(chǔ)配置選擇對應(yīng)的目錄和網(wǎng)絡(luò)路徑,網(wǎng)絡(luò)路徑主要用來提供日志復(fù)制使用c.配置完整備份周期和同步周期d.配置數(shù)據(jù)清理周期e.手動(dòng)查看下主從服務(wù)器的SQLServer代理是否正常啟動(dòng),作業(yè)是否創(chuàng)建成功2.角色變更a.主服務(wù)器建立登入賬號(hào)SQLServer2000DTS(package)封裝,通過主服務(wù)器SQLServer代理工作b.降級(jí)主服務(wù)器(demote),使用msdb.pdo.sp_
5、change_primary_role預(yù)存儲(chǔ)過程,將主服務(wù)器從讀/寫模式轉(zhuǎn)換為讀備援模式,準(zhǔn)備隨時(shí)接受交易日志的備份資料USEmasterGOEXECmsdb.dbo.sp_change_primary_role@db_name='dbname',@backup_log=1,@terminate=1,@final_state=3,@access_level=1c.升級(jí)從服務(wù)器(promote),使用msdb.pdo.sp_change_secondary_role預(yù)存儲(chǔ)過程,將從服務(wù)器升級(jí)為復(fù)原狀態(tài),一旦復(fù)原不會(huì)再回存同步日志restoredatabasedbna
6、mewithrecoveryUSEmasterGOEXECmsdb.dbo.sp_change_secondary_role@db_name='dbname',@do_load=1,@force_load=1,@final_state=1,@access_level=1,@terminate=1,@keep_replication=0,@stopat=nulld.監(jiān)控服務(wù)器角色變更,使用msdb.pdo.sp_change_monitor_role將監(jiān)控服務(wù)器系統(tǒng)表中的主從配置刪除,修改主服務(wù)器名稱為新主服務(wù)器名稱(即舊從服務(wù)器)USEmasterGOEXECms
7、db.dbo.sp_change_monitor_role@primary_server='hostnameinstance1',@secondary_server='hostnameinstance2',@database='dbname',@new_source='hostnameinstance2'e.從服務(wù)器上解析登入賬號(hào),賬號(hào)通過sp_resolve_logins讀取,解析各服務(wù)器之間的差異USEmasterGOEXECsp_resolve_logins@dest_db='dbname',@dest_path='d:',@filename='syslog
8、ins.d