Share via


使用資料列層級與資料行層級追蹤

Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 同時支援資料列層級與資料行層級追蹤。您可以使用「發行集精靈」或預存程序,為各個發行項設定追蹤類型。

瞭解資料列層級與資料行層級追蹤

資料列層級與資料行層級追蹤會決定同步處理期間傳送資料的方式以及偵測衝突的方式。

資料行層級追蹤可減少同步處理期間必須傳送到發行者的資訊量,但資料列層級追蹤需要的追蹤間接資源較少,因為追蹤變更需要更多儲存體。

重要事項:
利用 SQL Server 2000 發行者進行同步處理的時候,即使只變更一個資料行,仍然會將整個資料列傳送到發行者。

資料行層級追蹤也可能減少不同使用者變更相同資料時的衝突數量。例如,假設對於某個發行集資料列的地址資料行進行變更,而在對應的訂閱者資料列裡,對同一個資料表的電話號碼資料行進行第二個變更。若使用資料列層級追蹤,就會偵測到一個衝突,因為對兩邊的資料列都進行變更。若使用資料行層級追蹤,就不會偵測到任何衝突,因為是對資料列中的不同資料行進行變更。

附註:
結構描述的變更一定會先處理,才會執行同步處理。 如需追蹤及合併式複寫的詳細資訊,請參閱《SQL Server 線上叢書》的<合併式複寫衝突偵測及解決>。

使用發行集精靈來啟用追蹤

使用「發行集精靈」建立發行集時,您可以在新增發行項的時候啟用追蹤。資料列層級與資料行層級追蹤可以同時設定。

附註:
除非另行指定,否則資料行層級追蹤就會是所有發行項的預設追蹤。

使用 sp_addmergearticle 或 sp_changemergearticle 來啟用追蹤

新增發行項到發行集時,可利用 sp_addmergearticle 預存程序來指定追蹤類型。將 sp_addmergearticle 預存程序的 @column\_tracking 參數設為 'true' 代表資料行層級追蹤,或設為 'false' 代表資料列層級追蹤。

若您要變更發行集裡某個現存但無作用的合併式發行項的屬性,請將 sp_changemergearticle 預存程序的 @property 參數設為 'column_tracking',然後將 @value 參數設為 'true' 代表資料行層級追蹤,或設為 'false' 代表資料列層級追蹤。

附註:
如果在發行集有現用訂閱之後變更這些屬性,目前的快照集就會變成過時,而現有的訂閱就會加上要重新初始化的標記。

請參閱

概念

新增發行項到發行集
為發行項加入篩選

說明及資訊

取得 SQL Server Compact Edition 協助