SQL Server數據復制的三種方法
SQL Server數據復制是非常基本,也是最常見的操作之一,下面就為您介紹SQL Server數據復制的三種方法,希望對您有所啟迪。
成功進行SQL Server數據復制工作,有些條件是必不可少的:
1>SQL Server Agent必須啟動,MSDTC必須啟動。
2>所有要SQL Server數據復制的表必須有主鍵。
3>如果表中有text或image數據類型,必須使用with log選項,不能使用with no_log選項。
另外max text repl size選項控制可以復制的文本和圖像數據的***規模,超過這個限制的操作將失敗。(這個不知如何理解?)
4>在要進行復制的計算機上,應該至少是隱含共享,即共享名是C$或D$…。
5>為SQL Server代理使用的Windows NT帳號不能是一個本地的系統帳號,因為本地的系統帳號不允許網絡存取。
6>如果參與SQL Server數據復制的服務器在另外的計算機域中,必須在這些域之間建立信任關系。
SQL Server數據復制的三種方法:
1,快照復制。
2,事務復制。通過在發布端發布數據,訂閱端立即更新返回到發布端。這種方法對于沒有Iamge,text,ntext等類型是能成功,或許對我們的項目更為合理些,但是在辦公自動化的收發文管理中都涉及到這種數據類型。
用這種方法復制的時候出現的錯誤為:
當發布端,新增一條記錄后,過一定時間后則會復制到訂閱端,
而如果在訂閱端新增一條記錄,則會出現這樣一個錯誤信息:
[Microsoft][ODBC SQL Server Driver][SQL Server]Updatable Subscriptions:The
text/ntext/image values inserted at Subscriber will be NULL.
保存不進去,SQL Server數據復制(立即更新)也就不成功。不知道該如何解決這一問題?
操作步驟:在發布端:新建->發布->顯示高級選項->選擇一個數據庫->事務發布->選即時更新->在選定項目中選取要復制的表,此表要符合以上的一些條件。在按照向導完成操作。如果有需要可以在發布屬性中選取行,即寫WHERE語句篩選要復制下去的行。
在訂閱端:新建->請求訂閱->顯示高級選項->選擇一個機器名->登錄的帳號->此后需要修改一下復制的周期。再根據向導完成訂閱設置.
3,出現了事務復制不能解決的問題后,現想出另外一種復制方法:合并復制。
初步設想是在總部數據庫服務器上做發布端,在成員公司的數據庫服務器上做訂閱端,根據篩選行來復制不同的數據到不同的成員公司.
合并復制特點:
1。如果在發布端跟訂閱端都有一條主鍵相同的記錄,那么它將以發布端的記錄復制下去,覆蓋掉訂閱端的同主鍵數據。
2。在合并過程中進行數據同步(所有服務器的數據更新進行匯集)
操作步驟:在發布端:新建->發布->顯示高級選項->選擇一個數據庫所在的機器名->合并發布->在選定項目中選取要復制的表,此表要符合以上的一些條件。在按照向導完成操作。如果有需要可以在發布屬性中選取行,即寫WHERE語句篩選要復制下去的行。
在訂閱端:新建->請求訂閱->顯示高級選項->選擇一個機器名->登錄的帳號->此后需要修改一下復制的周期。再根據向導完成訂閱設置.
【編輯推薦】