程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server提高合並復制性能

SQL Server提高合並復制性能

編輯:關於SqlServer
改善合並復制性能的最好的方式就是盡可能地運行合並代理。然而,如果你的用戶不在線,那麼你就無法運行合並代理,並且你應該勸告你的用戶盡量頻繁進行同步。以下的貼士將會幫助你提高合並復制的性能。

  1、使用合適的配置文件(profile)

  關於合並復制性能,你有幾種特定的配置文件可以用來解決特定的需求。要察看這些配置文件,右擊你的合並代理,選擇代理配置(profile),然後從以下列表中選擇合適的配置文件:

  默認的代理配置文件

  高容量服務器對服務器的配置文件

  行數和檢查總量確認配置文件

  行數確認配置文件

  緩慢鏈接代理配置文件

  詳細歷史代理配置文件

  Windows同步管理器配置文件

  2、簡化你的過濾器

  過濾器限制了發布者每次運行合並代理時需要同步的數據總量。如果你使用了過濾,那麼確保你在過濾器上放置了索引,因為它們可以加強性能。

  要簡化你的過濾器,你也許需要重新設計你的表。如果你在過濾器中使用了Host_name參數,那麼你可以在描述中使用合並代理中的HostName屬性來忽略主機名數值。確保匹配你的過濾器條件的每個字段都經過索引,並且索引經常更新。

  3、增加批處理尺寸
 
  要盡量增加你的批處理尺寸。當Declarative Referential Integrity (DRI)發生的時候(這些錯誤是合並同步中常見的部分,並且在同步代理下一次運行的時候清除),通過阻止合並代理錯誤可以經常性的改善整體性能。

  UploadGenerationsPerBatch

  DownloadGenerationsPerBatch

  UploadReadChangesPerBatch

  DownloadReadChangesPerBatch

  UploadWriteChangesPerBatch

  DownloadWriteChangesPerBatch

  在你的合並代理的屬性頁上設置這些參數。

  4、經常性的重新索引合並表

  經常性的重新對MSmerge_contents, MSmerge_tombstone, MSmerge_genhistory 和 MSmerge_replinfo表進行索引,改善整體復制性能。

  5、限制沖突設置

  限制你的合並復制沖突設置。要做到這一點,右擊你的合並復制,並選擇屬性。在Subscriptions最後部分,選擇在他們重新同步之前,你所期望的Subscriptions的掉線時間最小值。通常你會發現Subscribers會在掉線合適的時間之後,重新同步所需要的時間比他再次發送一個新的快照並重新啟動的時間要長。

  6、使用可選的同步伙伴

  可選的同步伙伴特性允許你的發布者離線(例如,服務離線),並且你的訂閱者連接到另一個備選的發布者,直到你的發布者重新在線。當使用可選的同步伙伴的時候,這裡有很多限制;例如,它不允許自動的識別范圍分割調整,並且當發布者無法達到的時候,你不能自動地對你的訂閱者使用可選的同步伙伴進行錯誤恢復。咨詢微軟支持來獲得更多有關如何安裝備用同步伙伴的信息。注意:這個特性只有在SQL Server2005中可以獲得。

  7、為高可用性重新發表

  由於使用可選的同步伙伴的限制,許多的復制拓撲設計者都在高可用性合並復制解決方案中掙扎。答案就是使用重新發布——讓訂閱者成為其他訂閱者的發布者。通過這種方式你就可以在總部有一個主發布者,每個區域有一個訂閱者(東、南、西、北區域),然後連接到每個州辦公室,並在這些區域的服務器中進行同步。要做到這一點,你需要仔細選擇全球優先級別來構建拓撲結構。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved