| 導購 | 订阅 | 在线投稿
分享
 
 
當前位置: 王朝網路 >> mssql >> 兩種與SQL Server數據庫交換數據的方法
 

兩種與SQL Server數據庫交換數據的方法

2008-07-10 05:54:13  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
 
  引言

  Microsoft SQL Server 2005 Mobile Edition 3.0 (SQL Server Mobile) 支持兩種與 SQL Server 數據庫交換數據的方法:

  ◆合並複制,提供一種強大且功能齊全的解決方案,該解決方案允許移動應用程序對複制的數據自行更改,然後再將這些更改與 Microsoft SQL Server 數據庫進行合並,並在必要時解決沖突。

  ◆遠程數據訪問 (RDA),使移動應用程序能夠方便地將遠程 Microsoft SQL Server 數據庫表中的數據讀取(拉)到本地 SQL Server Mobile 數據庫表中,或者將本地 SQL Server Mobile 數據庫表中的數據發送(推)到遠程 Microsoft SQL Server 數據庫表中。RDA 還可用于在運行 SQL Server 的服務器上發出 SQL 命令。

  將 SQL Server Mobile 連接到 SQL Server

  使用 RDA 或複制功能時,SQL Server Mobile 將通過 Microsoft Internet Information Services (IIS) 服務器連接到 SQL Server。由于與 SQL Server 的連接由 IIS 處理,因此您的設備只需能夠使用 HTTP 或 HTTPS 協議連接到 IIS Web 服務器即可。這樣一來,您就可以通過支持 HTTP 的任何類型的網絡連接執行 RDA 和複制操作了,包括:局域網 (LAN)、廣域網 (WAN) 和 Microsoft ActiveSync® 連接。

  RDA 和複制功能都非常適合無線傳輸。它們采用壓縮來減小傳輸數據的大小,並采用加密在傳輸期間保護敏感的用戶數據。

  在連接到 SQL Server 時,RDA 和複制功能都支持集成 Windows 身份驗證和 SQL Server 身份驗證。

  合並複制簡介

  SQL Server Mobile 複制基于 Microsoft SQL Server 合並複制。可以使用 Microsoft SQL Server 2000 數據庫或 Microsoft SQL Server 2005 數據庫來實現合並複制。

  合並複制非常適合移動應用程序,因爲它允許分別在便攜式設備和服務器上自行更新數據。之後可以對該設備和服務器上的數據進行同步,以將客戶端的更改發送到服務器,或從服務器接收新的更改。

  盡管與 RDA 相比,合並複制需要在服務器上進行更多的配置和維護,但是使用合並複制卻有許多優點,包括:

  ◆複制提供了內置和自定義的沖突解決功能。

  ◆通過複制可以同時對多個表中的數據進行同步。

  ◆複制提供了豐富的數據複制選項,包括:

  ·選擇文章類型並進行篩選以提高性能

  ·標識範圍管理

  ◆Microsoft SQL Server 包括大量工具,可用于:

  ·創建和同步 SQL Server Mobile 訂閱

  ·監視訂閱者的每次發布活動

  有關合並複制功能工作原理的一般信息,請參閱 SQL Server Books Online 中的「How Merge Replication Works」。有關 SQL Server Mobile 訂閱者的相關複制信息,請參閱 SQL Server Mobile Books Online 中的「How Replication Works」和「Replication Architecture」。

  遠程數據訪問 (RDA) 簡介

  遠程數據訪問 (RDA) 使移動應用程序能夠訪問遠程 SQL Server 數據庫表中的數據,並將這些數據存儲在本地 SQL Server Mobile 數據庫表中。隨後,該應用程序就可以讀取和更新本地 SQL Server Mobile 數據庫表。SQL Server Mobile 可以選擇跟蹤對本地表所做的所有更改。之後,應用程序可以將本地表中更改過的記錄更新回 SQL Server 表。

  在 SQL Server Mobile 中,將數據從 SQL Server 表傳播至本地 SQL Server Mobile 表的過程稱爲「拉」數據。將本地 SQL Server Mobile 表中所做的更改傳播回 SQL Server 表的過程稱爲「推」數據。

  在不需要使用 SQL Server Mobile 合並複制的全部功能(包括沖突解決)時,適合使用 RDA。

  決定在 SQL Mobile 應用程序中使用遠程數據訪問 (RDA) 功能還是複制功能,取決于移動應用程序的用途、功能、規模和要求。每種連接數據解決方案都有各自的優缺點。這些優缺點將在隨後各節中加以討論。

  功能對比

  本節簡要介紹對複制與遠程數據訪問 (RDA) 之間的可對比功能支持的差異。本節的主要目的並不是介紹複制或 RDA 的每項可用功能,而只是提供可對比的那些功能的對比。例如,有許多複制功能沒有相應的 RDA 功能,因此這些就不是本文所探討的內容。

  服務器侵害

  SQL Server Mobile 的大量合並複制功能來自于 SQL Server 的合並複制功能。SQL Server Mobile 通過訂閱 SQL Server 發布産品來利用這些功能。通過在服務器上創建發布,可以將大量的系統表添加到即將發布的數據庫中,並將「唯一標識符」系統列添加到即將發布的每個用戶表中。這些系統對象將被添加到服務器數據庫中,用于對複制進行管理。RDA 不需要對服務器上的數據庫進行任何更改。由于 RDA 對服務器上的架構沒有侵害性,因此 RDA 的功能有一定限制,不像複制那樣功能齊備,但是該功能可用于在 SQL Server 與 SQL Server Mobile 之間傳輸數據,而無需任何服務器端配置工作。在有些情況下,您可能無權變更後端系統中的架構。如果是這種情況,RDA 是潛在的連接選擇,可用于在 SQL Server 與 SQL Server Mobile 之間傳輸數據更改。如果需要強大的複制功能而且無法變更後端數據庫架構,則可以考慮的另一個選擇是使用中間層 SQL Server 作爲複制服務器,然後使用其他無侵害技術 [如數據轉換服務 (DTS) 和 Web 服務] 將數據傳輸到後端系統。

  簡而言之,複制功能需要對服務器數據庫的架構進行一些細微的更改,但通過這些更改可獲得一組非常強大的功能,而 RDA 不需要對服務器數據庫進行任何更改,但它不是功能齊備的連接解決方案。

  數據和架構定義

  如上文所述,您需要通過在服務器上創建發布來進行複制准備。要複制到訂閱者的數據和架構將在服務器上創建發布時指定。首次創建訂閱時,將在客戶端自動定義架構。發布定義了要複制到訂閱者的表(文章),包括行篩選(使用 WHERE 子句限制數據流)和列篩選(限制表中要複制的列)。發布可以包含一個或多個表。在 SQL Server Mobile 數據庫中,整個發布定義(包括正在複制的表的數據和架構)是使用一種同步方法創建的。

  使用 RDA 時,客戶端控制從服務器中傳輸哪些數據,包括數據定義(包括行篩選)和架構定義(包括列篩選)。RDA 在每個 RDA 拉進程中只能對一個表進行同步,這與複制有所不同,後者可以在一次同步操作中處理多個表。

  簡而言之,最初在 SQL Server Mobile 數據庫中創建的數據和架構在服務器上是使用複制功能進行定義的,而在客戶端上是使用 RDA 進行定義的。複制發布可以包含多個表,而 RDA 每次下載(RDA 拉進程)只能處理一個表。

  架構更改

  使用複制功能時,在最初創建訂閱後可以將架構更改(如添加或刪除列,添加或刪除約束,以及更改列定義)複制到訂閱者。當需要將挂起的架構更改複制到訂閱者時,將首先複制架構更改,然後在發布者與訂閱者之間交換所導致的增量更改。服務器架構更改(例如,添加列或刪除應用程序中未在使用的列)不一定會要求對應用程序進行更改和重新編譯。允許對訂閱數據庫的架構進行細微的更改。有關詳細信息,請參閱 SQL Server Mobile Books Online 中的「Replication Limitations」。

  使用 RDA 時,不支持在服務器上進行架構更改。如果進行了架構更改,從客戶端到服務器的推操作可能會失敗。如果更改了服務器架構,則客戶端必須先刪除表,然後再次從服務器拉出所有數據。更改服務器架構可能會要求對應用程序進行更改並重新編譯。允許對客戶端的架構進行細微的更改。有關詳細信息,請參閱 SQL Server Mobile Books Online 中的「Remote Data Access (RDA) Limitations」。

  簡而言之,使用複制功能時,支持服務器架構更改,而且服務器架構更改不會導致訂閱者上的數據丟失。但是,使用 RDA 時,不支持服務器架構更改,而且服務器架構更改可能會導致客戶端的數據丟失。複制和 RDA 功能均允許對 SQL Server Mobile 連接表進行細微的架構更改。

  標識列

  在許多應用程序中,您可能需要使用遞增的編號來管理在客戶端數據庫中插入的記錄。例如,如果用戶正在表中輸入新訂單,則您可能需要爲每個訂單分配自動遞增的編號。使用這類系統時,必須確保這些編號在客戶端之間不會引起沖突。對于發布和訂閱,複制功能支持 integer 和 bigint 列的自動標識範圍管理。使用自動標識範圍管理,可以確保無論有多少客戶端,都不會發生行沖突。有關使用此複制功能的詳細信息,請參閱 SQL Server Books Online 中的「Replicating Identity Columns」。

  使用 RDA 時,不支持標識列的自動管理。要使用此數據類型屬性,必須在整個系統中手動管理值。

  約束和索引

  由于複制功能支持在發布定義中使用多個表,因此引用完整性約束和索引會自動從服務器複制到訂閱數據庫。

  而由于 RDA 每次只能拉一個表,因此不會傳輸引用完整性約束,但是可以傳輸索引。其他架構定義必須在客戶端進行定義。

  交換跟蹤數據更改

  使用複制功能時,將分別在發布數據庫和 SQL Mobile 數據庫中創建系統對象,前者是在創建發布時建立,而後者則是在創建訂閱時建立的。這些對象允許在 SQL Server 與 SQL Server Mobile 之間使用非常強大的數據交換模型。複制功能可用于跟蹤發布和訂閱數據庫中的更改。發布者與訂閱者之間的數據流控制有兩種跟蹤級別:

  ◆表的行級別跟蹤會導致在同步期間傳輸整個行。這種跟蹤級別對依賴于連接速度的數據傳輸而言可能代價較高,但需要在發布者和訂閱者上存儲的跟蹤信息較少。

  ◆列級別跟蹤不僅跟蹤行中的更改,而且還跟蹤列級別上的更改,因此可以只將更改的列數據從訂閱者傳輸到發布者,從而減少了傳輸的數據量。發布者始終會將整個更改的行發送到預定者,原因是它不能確定該行在訂閱者中是否實際存在。

  有關跟蹤級別的詳細信息,請參閱 SQL Server Mobile Books Online 中的「Using Row-Level and Column-Level Tracking」和 SQL Server Books Online 中的「Row-Level Tracking and Column-Level Tracking」。

  RDA 使用 SQL Server Mobile 數據庫中的系統對象來跟蹤對數據所做的更改。獲得此信息後,RDA 僅將這些更改(特別是更改的行)從 SQL Server Mobile 推到 SQL Server。但如果 SQL Server Mobile 要從 SQL Server 檢索數據更改,則需要完全刷新客戶端數據。

  簡而言之,複制功能支持增量更改的雙向數據交換,因爲數據更改是在發布者和訂閱者中同時進行跟蹤的。而 RDA 僅支持從 SQL Server Mobile 到 SQL Server 的增量更改數據交換,並且需要對數據進行完全刷新才能將 SQL Server 中的更改更新到 SQL Server Mobile,因爲數據更改僅在 SQL Mobile 數據庫中進行跟蹤。

  可以傳播的表類型

  將表添加到複制發布中時,可以設置表的屬性來控制數據流。除了控制發布者與訂閱者之間的數據流以外,這些表屬性還可用于增強同步的性能。有關詳細信息,請參閱 SQL Server Books Online 中的「Parameterized Row Filters」和「Optimizing Merge Replication Synchronization Performance with Download-Only Articles」。

  RDA 不支持任何用于控制數據流或增強性能的表屬性。拉到客戶端的數據僅由該客戶端上的應用程序代碼控制。

  沖突

  使用複制作爲連接解決方案時,潛在的沖突包括由不同用戶更改的數據以及由于錯誤而無法應用的行。複制完全支持服務器上的沖突解決和管理,包括內置和自定義的沖突解決程序。有關詳細信息,請參閱 SQL Server Mobile Books Online 中的「Replication Conflict Detection and Resolution」和 SQL Server Books Online 中的「Merge Replication Conflict Detection and Resolution」。

  使用 RDA 時,沖突僅包括由于錯誤而無法應用的行。RDA 不會檢測是否有不同的用戶對數據進行了更改。因此,RDA 在將數據推入服務器時始終采用「最後一個寫入者獲勝」的方式。不會對沖突進行管理,但是可以在客戶端的錯誤表中報告沖突。由于沒有去解決沖突,因此也就不支持任何沖突解決程序。

  工具 (UI)

  SQL Server Management Studio 包含大量用于創建和管理訂閱的工具集,包括用于管理多個訂閱及監測性能和同步次數的監視工具。

  RDA 只能通過編寫代碼來使用;SQL Server 和 SQL Server Mobile 中都沒有可用于推/拉更改或監視客戶端的工具。

  結論

  在本文中,您已經了解了合並複制與 RDA 之間主要功能的關鍵差別。了解這些信息後,您就可以根據 SQL Server Mobile 應用程序的需要成功地選擇相應的連接解決方案。例如,應用程序可能會從 RDA 的簡單性或合並複制的強大功能中受益。在有些情況下,如果服務器上的數據不會發生沖突,您可以選擇在一個解決方案中結合使用 RDA 和合並複制的功能。
 
 
 
上一篇《Microsoft SQL Server 2008數據庫的新標志》
下一篇《SQL Server數據庫連接查詢的種類及其應用》
 
 
 
日版寵物情人插曲《Winding Road》歌詞

日版寵物情人2017的插曲,很帶節奏感,日語的,女生唱的。 最後聽見是在第8集的時候女主手割傷了,然後男主用嘴幫她吸了一下,插曲就出來了。 歌手:Def...

兄弟共妻,我成了他們夜裏的美食

老鍾家的兩個兒子很特別,就是跟其他的人不太一樣,魔一般的執著。兄弟倆都到了要結婚的年齡了,不管自家老爹怎麽磨破嘴皮子,兄弟倆說不娶就不娶,老父母爲兄弟兩操碎了心...

如何磨出破洞牛仔褲?牛仔褲怎麽剪破洞?

把牛仔褲磨出有線的破洞 1、具體工具就是磨腳石,下面墊一個硬物,然後用磨腳石一直磨一直磨,到把那塊磨薄了,用手撕開就好了。出來的洞啊很自然的。需要貓須的話調幾...

我就是掃描下圖得到了敬業福和愛國福

先來看下敬業福和愛國福 今年春節,支付寶再次推出了“五福紅包”活動,表示要“把欠大家的敬業福都還給大家”。 今天該活動正式啓動,和去年一樣,需要收集“五福”...

冰箱異味産生的原因和臭味去除的方法

有時候我們打開冰箱就會聞到一股異味,冰箱裏的這種異味是因爲一些物質發出的氣味的混合體,聞起來讓人惡心。 産生這些異味的主要原因有以下幾點。 1、很多人有這種習...

《極品家丁》1-31集大結局分集劇情介紹

簡介 《極品家丁》講述了現代白領林晚榮無意回到古代金陵,並追隨蕭二小姐化名“林三”進入蕭府,不料卻陰差陽錯上演了一出低級家丁拼搏上位的“林三升職記”。...

李溪芮《極品家丁》片尾曲《你就是我最愛的寶寶》歌詞

你就是我最愛的寶寶 - 李溪芮 (電視劇《極品家丁》片尾曲) 作詞:常馨內 作曲:常馨內 你的眉 又鬼馬的挑 你的嘴 又壞壞的笑 上一秒吵鬧 下...

烏梅的功效與作用以及烏梅的食用禁忌有哪些?

烏梅,又稱春梅,中醫認爲,烏梅味酸,性溫,無毒,具有安心、除熱、下氣、祛痰、止渴調中、殺蟲的功效,治肢體痛、肺痨病。烏梅泡水喝能治傷寒煩熱、止吐瀉,與幹姜一起制...

什麽是脂肪粒?如何消除臉部脂肪粒?

什麽是脂肪粒 在我們的臉上總會長一個個像脂肪的小顆粒,弄也弄不掉,而且顔色還是白白的。它既不是粉刺也不是其他的任何痘痘,它就是脂肪粒。 脂肪粒雖然也是由油脂...

網絡安全治理:國家安全保障的主要方向是打擊犯罪,而不是處置和懲罰受害者

來源:中國青年報 新的攻擊方法不斷湧現,黑客幾乎永遠占據網絡攻擊的上風,我們不可能通過技術手段杜絕網絡攻擊。國家安全保障的主要方向是打擊犯罪,而不是處置和懲罰...

 
 
 
引言 Microsoft SQL Server 2005 Mobile Edition 3.0 (SQL Server Mobile) 支持兩種與 SQL Server 數據庫交換數據的方法: ◆合並複制,提供一種強大且功能齊全的解決方案,該解決方案允許移動應用程序對複制的數據自行更改,然後再將這些更改與 Microsoft SQL Server 數據庫進行合並,並在必要時解決沖突。 ◆遠程數據訪問 (RDA),使移動應用程序能夠方便地將遠程 Microsoft SQL Server 數據庫表中的數據讀取(拉)到本地 SQL Server Mobile 數據庫表中,或者將本地 SQL Server Mobile 數據庫表中的數據發送(推)到遠程 Microsoft SQL Server 數據庫表中。RDA 還可用于在運行 SQL Server 的服務器上發出 SQL 命令。 將 SQL Server Mobile 連接到 SQL Server 使用 RDA 或複制功能時,SQL Server Mobile 將通過 Microsoft Internet Information Services (IIS) 服務器連接到 SQL Server。由于與 SQL Server 的連接由 IIS 處理,因此您的設備只需能夠使用 HTTP 或 HTTPS 協議連接到 IIS Web 服務器即可。這樣一來,您就可以通過支持 HTTP 的任何類型的網絡連接執行 RDA 和複制操作了,包括:局域網 (LAN)、廣域網 (WAN) 和 Microsoft ActiveSync® 連接。 RDA 和複制功能都非常適合無線傳輸。它們采用壓縮來減小傳輸數據的大小,並采用加密在傳輸期間保護敏感的用戶數據。 在連接到 SQL Server 時,RDA 和複制功能都支持集成 Windows 身份驗證和 SQL Server 身份驗證。 合並複制簡介 SQL Server Mobile 複制基于 Microsoft SQL Server 合並複制。可以使用 Microsoft SQL Server 2000 數據庫或 Microsoft SQL Server 2005 數據庫來實現合並複制。 合並複制非常適合移動應用程序,因爲它允許分別在便攜式設備和服務器上自行更新數據。之後可以對該設備和服務器上的數據進行同步,以將客戶端的更改發送到服務器,或從服務器接收新的更改。 盡管與 RDA 相比,合並複制需要在服務器上進行更多的配置和維護,但是使用合並複制卻有許多優點,包括: ◆複制提供了內置和自定義的沖突解決功能。 ◆通過複制可以同時對多個表中的數據進行同步。 ◆複制提供了豐富的數據複制選項,包括: ·選擇文章類型並進行篩選以提高性能 ·標識範圍管理 ◆Microsoft SQL Server 包括大量工具,可用于: ·創建和同步 SQL Server Mobile 訂閱 ·監視訂閱者的每次發布活動 有關合並複制功能工作原理的一般信息,請參閱 SQL Server Books Online 中的「How Merge Replication Works」。有關 SQL Server Mobile 訂閱者的相關複制信息,請參閱 SQL Server Mobile Books Online 中的「How Replication Works」和「Replication Architecture」。 遠程數據訪問 (RDA) 簡介 遠程數據訪問 (RDA) 使移動應用程序能夠訪問遠程 SQL Server 數據庫表中的數據,並將這些數據存儲在本地 SQL Server Mobile 數據庫表中。隨後,該應用程序就可以讀取和更新本地 SQL Server Mobile 數據庫表。SQL Server Mobile 可以選擇跟蹤對本地表所做的所有更改。之後,應用程序可以將本地表中更改過的記錄更新回 SQL Server 表。 在 SQL Server Mobile 中,將數據從 SQL Server 表傳播至本地 SQL Server Mobile 表的過程稱爲「拉」數據。將本地 SQL Server Mobile 表中所做的更改傳播回 SQL Server 表的過程稱爲「推」數據。 在不需要使用 SQL Server Mobile 合並複制的全部功能(包括沖突解決)時,適合使用 RDA。 決定在 SQL Mobile 應用程序中使用遠程數據訪問 (RDA) 功能還是複制功能,取決于移動應用程序的用途、功能、規模和要求。每種連接數據解決方案都有各自的優缺點。這些優缺點將在隨後各節中加以討論。 功能對比 本節簡要介紹對複制與遠程數據訪問 (RDA) 之間的可對比功能支持的差異。本節的主要目的並不是介紹複制或 RDA 的每項可用功能,而只是提供可對比的那些功能的對比。例如,有許多複制功能沒有相應的 RDA 功能,因此這些就不是本文所探討的內容。 服務器侵害 SQL Server Mobile 的大量合並複制功能來自于 SQL Server 的合並複制功能。SQL Server Mobile 通過訂閱 SQL Server 發布産品來利用這些功能。通過在服務器上創建發布,可以將大量的系統表添加到即將發布的數據庫中,並將「唯一標識符」系統列添加到即將發布的每個用戶表中。這些系統對象將被添加到服務器數據庫中,用于對複制進行管理。RDA 不需要對服務器上的數據庫進行任何更改。由于 RDA 對服務器上的架構沒有侵害性,因此 RDA 的功能有一定限制,不像複制那樣功能齊備,但是該功能可用于在 SQL Server 與 SQL Server Mobile 之間傳輸數據,而無需任何服務器端配置工作。在有些情況下,您可能無權變更後端系統中的架構。如果是這種情況,RDA 是潛在的連接選擇,可用于在 SQL Server 與 SQL Server Mobile 之間傳輸數據更改。如果需要強大的複制功能而且無法變更後端數據庫架構,則可以考慮的另一個選擇是使用中間層 SQL Server 作爲複制服務器,然後使用其他無侵害技術 [如數據轉換服務 (DTS) 和 Web 服務] 將數據傳輸到後端系統。 簡而言之,複制功能需要對服務器數據庫的架構進行一些細微的更改,但通過這些更改可獲得一組非常強大的功能,而 RDA 不需要對服務器數據庫進行任何更改,但它不是功能齊備的連接解決方案。 數據和架構定義 如上文所述,您需要通過在服務器上創建發布來進行複制准備。要複制到訂閱者的數據和架構將在服務器上創建發布時指定。首次創建訂閱時,將在客戶端自動定義架構。發布定義了要複制到訂閱者的表(文章),包括行篩選(使用 WHERE 子句限制數據流)和列篩選(限制表中要複制的列)。發布可以包含一個或多個表。在 SQL Server Mobile 數據庫中,整個發布定義(包括正在複制的表的數據和架構)是使用一種同步方法創建的。 使用 RDA 時,客戶端控制從服務器中傳輸哪些數據,包括數據定義(包括行篩選)和架構定義(包括列篩選)。RDA 在每個 RDA 拉進程中只能對一個表進行同步,這與複制有所不同,後者可以在一次同步操作中處理多個表。 簡而言之,最初在 SQL Server Mobile 數據庫中創建的數據和架構在服務器上是使用複制功能進行定義的,而在客戶端上是使用 RDA 進行定義的。複制發布可以包含多個表,而 RDA 每次下載(RDA 拉進程)只能處理一個表。 架構更改 使用複制功能時,在最初創建訂閱後可以將架構更改(如添加或刪除列,添加或刪除約束,以及更改列定義)複制到訂閱者。當需要將挂起的架構更改複制到訂閱者時,將首先複制架構更改,然後在發布者與訂閱者之間交換所導致的增量更改。服務器架構更改(例如,添加列或刪除應用程序中未在使用的列)不一定會要求對應用程序進行更改和重新編譯。允許對訂閱數據庫的架構進行細微的更改。有關詳細信息,請參閱 SQL Server Mobile Books Online 中的「Replication Limitations」。 使用 RDA 時,不支持在服務器上進行架構更改。如果進行了架構更改,從客戶端到服務器的推操作可能會失敗。如果更改了服務器架構,則客戶端必須先刪除表,然後再次從服務器拉出所有數據。更改服務器架構可能會要求對應用程序進行更改並重新編譯。允許對客戶端的架構進行細微的更改。有關詳細信息,請參閱 SQL Server Mobile Books Online 中的「Remote Data Access (RDA) Limitations」。 簡而言之,使用複制功能時,支持服務器架構更改,而且服務器架構更改不會導致訂閱者上的數據丟失。但是,使用 RDA 時,不支持服務器架構更改,而且服務器架構更改可能會導致客戶端的數據丟失。複制和 RDA 功能均允許對 SQL Server Mobile 連接表進行細微的架構更改。 標識列 在許多應用程序中,您可能需要使用遞增的編號來管理在客戶端數據庫中插入的記錄。例如,如果用戶正在表中輸入新訂單,則您可能需要爲每個訂單分配自動遞增的編號。使用這類系統時,必須確保這些編號在客戶端之間不會引起沖突。對于發布和訂閱,複制功能支持 integer 和 bigint 列的自動標識範圍管理。使用自動標識範圍管理,可以確保無論有多少客戶端,都不會發生行沖突。有關使用此複制功能的詳細信息,請參閱 SQL Server Books Online 中的「Replicating Identity Columns」。 使用 RDA 時,不支持標識列的自動管理。要使用此數據類型屬性,必須在整個系統中手動管理值。 約束和索引 由于複制功能支持在發布定義中使用多個表,因此引用完整性約束和索引會自動從服務器複制到訂閱數據庫。 而由于 RDA 每次只能拉一個表,因此不會傳輸引用完整性約束,但是可以傳輸索引。其他架構定義必須在客戶端進行定義。 交換跟蹤數據更改 使用複制功能時,將分別在發布數據庫和 SQL Mobile 數據庫中創建系統對象,前者是在創建發布時建立,而後者則是在創建訂閱時建立的。這些對象允許在 SQL Server 與 SQL Server Mobile 之間使用非常強大的數據交換模型。複制功能可用于跟蹤發布和訂閱數據庫中的更改。發布者與訂閱者之間的數據流控制有兩種跟蹤級別: ◆表的行級別跟蹤會導致在同步期間傳輸整個行。這種跟蹤級別對依賴于連接速度的數據傳輸而言可能代價較高,但需要在發布者和訂閱者上存儲的跟蹤信息較少。 ◆列級別跟蹤不僅跟蹤行中的更改,而且還跟蹤列級別上的更改,因此可以只將更改的列數據從訂閱者傳輸到發布者,從而減少了傳輸的數據量。發布者始終會將整個更改的行發送到預定者,原因是它不能確定該行在訂閱者中是否實際存在。 有關跟蹤級別的詳細信息,請參閱 SQL Server Mobile Books Online 中的「Using Row-Level and Column-Level Tracking」和 SQL Server Books Online 中的「Row-Level Tracking and Column-Level Tracking」。 RDA 使用 SQL Server Mobile 數據庫中的系統對象來跟蹤對數據所做的更改。獲得此信息後,RDA 僅將這些更改(特別是更改的行)從 SQL Server Mobile 推到 SQL Server。但如果 SQL Server Mobile 要從 SQL Server 檢索數據更改,則需要完全刷新客戶端數據。 簡而言之,複制功能支持增量更改的雙向數據交換,因爲數據更改是在發布者和訂閱者中同時進行跟蹤的。而 RDA 僅支持從 SQL Server Mobile 到 SQL Server 的增量更改數據交換,並且需要對數據進行完全刷新才能將 SQL Server 中的更改更新到 SQL Server Mobile,因爲數據更改僅在 SQL Mobile 數據庫中進行跟蹤。 可以傳播的表類型 將表添加到複制發布中時,可以設置表的屬性來控制數據流。除了控制發布者與訂閱者之間的數據流以外,這些表屬性還可用于增強同步的性能。有關詳細信息,請參閱 SQL Server Books Online 中的「Parameterized Row Filters」和「Optimizing Merge Replication Synchronization Performance with Download-Only Articles」。 RDA 不支持任何用于控制數據流或增強性能的表屬性。拉到客戶端的數據僅由該客戶端上的應用程序代碼控制。 沖突 使用複制作爲連接解決方案時,潛在的沖突包括由不同用戶更改的數據以及由于錯誤而無法應用的行。複制完全支持服務器上的沖突解決和管理,包括內置和自定義的沖突解決程序。有關詳細信息,請參閱 SQL Server Mobile Books Online 中的「Replication Conflict Detection and Resolution」和 SQL Server Books Online 中的「Merge Replication Conflict Detection and Resolution」。 使用 RDA 時,沖突僅包括由于錯誤而無法應用的行。RDA 不會檢測是否有不同的用戶對數據進行了更改。因此,RDA 在將數據推入服務器時始終采用「最後一個寫入者獲勝」的方式。不會對沖突進行管理,但是可以在客戶端的錯誤表中報告沖突。由于沒有去解決沖突,因此也就不支持任何沖突解決程序。 工具 (UI) SQL Server Management Studio 包含大量用于創建和管理訂閱的工具集,包括用于管理多個訂閱及監測性能和同步次數的監視工具。 RDA 只能通過編寫代碼來使用;SQL Server 和 SQL Server Mobile 中都沒有可用于推/拉更改或監視客戶端的工具。 結論 在本文中,您已經了解了合並複制與 RDA 之間主要功能的關鍵差別。了解這些信息後,您就可以根據 SQL Server Mobile 應用程序的需要成功地選擇相應的連接解決方案。例如,應用程序可能會從 RDA 的簡單性或合並複制的強大功能中受益。在有些情況下,如果服務器上的數據不會發生沖突,您可以選擇在一個解決方案中結合使用 RDA 和合並複制的功能。
󰈣󰈤
 
 
 
  免責聲明:本文僅代表作者個人觀點,與王朝網路無關。王朝網路登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
 
竹林裏的甜美養眼美女
MM尖尖的下巴
靓麗的草根美女
超靓迷人的大眼睛美女
海南(二)
霧繞三清山
Oldtime
美麗婺源
 
>>返回首頁<<
 
 熱帖排行
 
 
 
 
© 2005- 王朝網路 版權所有