SQL Server合并復(fù)制性能的提高有哪些方案?
此文章主要向大家講述的是SQL Server合并復(fù)制性能提高的實(shí)際操作,其對(duì)并復(fù)制性能提高,***的方式就是***程度的運(yùn)行合并代理。然而,假如你的用戶不在線,那么你就無(wú)法運(yùn)行合并代理,并且你應(yīng)該勸告你的用戶盡量頻繁進(jìn)行同步。
以下的貼士將會(huì)幫助你提高合并復(fù)制的性能。改善SQL Server合并復(fù)制性能的***的方式就是盡可能地運(yùn)行合并代理。然而,如果你的用戶不在線,那么你就無(wú)法運(yùn)行合并代理,并且你應(yīng)該勸告你的用戶盡量頻繁進(jìn)行同步。以下的貼士將會(huì)幫助你提高合并復(fù)制的性能。
1、使用合適的配置文件(profile)
關(guān)于SQL Server合并復(fù)制性能,你有幾種特定的配置文件可以用來(lái)解決特定的需求。要察看這些配置文件,右擊你的合并代理,選擇代理配置(profile),然后從以下列表中選擇合適的配置文件:
默認(rèn)的代理配置文件
高容量服務(wù)器對(duì)服務(wù)器的配置文件
行數(shù)和檢查總量確認(rèn)配置文件
行數(shù)確認(rèn)配置文件
緩慢鏈接代理配置文件
詳細(xì)歷史代理配置文件
Windows同步管理器配置文件
2、簡(jiǎn)化你的過(guò)濾器
過(guò)濾器限制了發(fā)布者每次運(yùn)行合并代理時(shí)需要同步的數(shù)據(jù)總量。如果你使用了過(guò)濾,那么確保你在過(guò)濾器上放置了索引,因?yàn)樗鼈兛梢约訌?qiáng)SQL Server合并復(fù)制性能。
要簡(jiǎn)化你的過(guò)濾器,你也許需要重新設(shè)計(jì)你的表。如果你在過(guò)濾器中使用了Host_name參數(shù),那么你可以在描述中使用合并代理中的HostName屬性來(lái)忽略主機(jī)名數(shù)值。確保匹配你的過(guò)濾器條件的每個(gè)字段都經(jīng)過(guò)索引,并且索引經(jīng)常更新。
3、增加批處理尺寸
要盡量增加你的批處理尺寸。當(dāng)Declarative Referential Integrity (DRI)發(fā)生的時(shí)候(這些錯(cuò)誤是合并同步中常見(jiàn)的部分,并且在同步代理下一次運(yùn)行的時(shí)候清除),通過(guò)阻止合并代理錯(cuò)誤可以經(jīng)常性的改善整體性能。
- UploadGenerationsPerBatch
- DownloadGenerationsPerBatch
- UploadReadChangesPerBatch
- DownloadReadChangesPerBatch
- UploadWriteChangesPerBatch
- DownloadWriteChangesPerBatch
在你的合并代理的屬性頁(yè)上設(shè)置這些參數(shù)。
4、經(jīng)常性的重新索引合并表
經(jīng)常性的重新對(duì)MSmerge_contents, MSmerge_tombstone, MSmerge_genhistory 和 MSmerge_replinfo表進(jìn)行索引,改善整體復(fù)制SQL Server合并復(fù)制性能。
5、限制沖突設(shè)置
限制你的合并復(fù)制沖突設(shè)置。要做到這一點(diǎn),右擊你的合并復(fù)制,并選擇屬性。在Subscriptions***部分,選擇在他們重新同步之前,你所期望的Subscriptions的掉線時(shí)間最小值。通常你會(huì)發(fā)現(xiàn)Subscribers會(huì)在掉線合適的時(shí)間之后,重新同步所需要的時(shí)間比他再次發(fā)送一個(gè)新的快照并重新啟動(dòng)的時(shí)間要長(zhǎng)。
6、使用可選的同步伙伴
可選的同步伙伴特性允許你的發(fā)布者離線(例如,服務(wù)離線),并且你的訂閱者連接到另一個(gè)備選的發(fā)布者,直到你的發(fā)布者重新在線。當(dāng)使用可選的同步伙伴的時(shí)候,這里有很多限制; 例如,它不允許自動(dòng)的識(shí)別范圍分割調(diào)整,并且當(dāng)發(fā)布者無(wú)法達(dá)到的時(shí)候,你不能自動(dòng)地對(duì)你的訂閱者使用可選的同步伙伴進(jìn)行錯(cuò)誤恢復(fù)。
咨詢微軟支持來(lái)獲得更多有關(guān)如何安裝備用同步伙伴的信息。注意:這個(gè)特性只有在SQL Server2005中可以獲得。
7、為高可用性重新發(fā)表
由于使用可選的同步伙伴的限制,許多的復(fù)制拓?fù)湓O(shè)計(jì)者都在高可用性合并復(fù)制解決方案中掙扎。答案就是使用重新發(fā)布——讓訂閱者成為其他訂閱者的發(fā)布者。通過(guò)這種方式你就可以在總部有一個(gè)主發(fā)布者,每個(gè)區(qū)域有一個(gè)訂閱者(東、南、西、北區(qū)域),然后連接到每個(gè)州辦公室,并在這些區(qū)域的服務(wù)器中進(jìn)行同步。要做到這一點(diǎn),你需要仔細(xì)選擇全球優(yōu)先級(jí)別來(lái)構(gòu)建拓?fù)浣Y(jié)構(gòu)。
以上的相關(guān)內(nèi)容就是對(duì)SQL Server合并復(fù)制性能的提高的介紹,望你能有所收獲。
【編輯推薦】
- SQL Server性能進(jìn)行提高的4項(xiàng)技術(shù)概述
- SQL Server數(shù)據(jù)轉(zhuǎn)換服務(wù)的妙招之一
- SQL Server數(shù)據(jù)庫(kù)的妙招用法
- SQL Server數(shù)據(jù)轉(zhuǎn)換服務(wù)利用與導(dǎo)入式格式的描述
- SQL Server數(shù)據(jù)轉(zhuǎn)換服務(wù)的妙用之導(dǎo)入導(dǎo)出數(shù)據(jù)