發行集資料庫上的結構描述變更 (SQL Server Compact)
您可以在 MicrosoftSQL Server 發行集中發行的資料表內新增及卸除資料行,而不用卸除及重新建立發行集。如果您在發行的 SQL Server 資料表內新增或卸除資料行,當下次同步處理訂閱時,會將該結構描述變更發行至 SQL Server Compact 3.5 中的訂閱資料庫。如需詳細資訊,請參閱《SQL Server 線上叢書》的<發行集資料庫上的結構描述變更>。
重要事項 在發行者端新增計算資料行之類的結構描述變更可能導致「SQL Server Compact 3.5 訂閱者」的同步處理嘗試失敗。在發行者上執行任何結構描述變更之前,請先檢視所有 SQL Server Compact 3.5 結構描述限制。
卸除發行項
如果從 SQL Server 發行集卸除資料行,在 SQL Server Compact 3.5 訂閱資料庫中該對應資料行內任何尚未傳播到發行者的資料變更,將在同步處理期間被卸除。當發行項被卸除時,下列規則將套用。
如果發行集相容性層級為 90RTM 以上,您可以卸除發行項,而不必強制 SQL Server Compact 3.5 訂閱的重新初始化。
如果相容性層級低於 90RTM,則會產生錯誤,且您必須重新初始化訂閱。
發行項必須先使用 sp_dropmergearticle 從發行集中加以移除,才能從資料庫卸除該發行項。
使用 sp_dropmergearticle 移除發行項時,不會自動從資料庫刪除該發行項。這仍然以本機資料表的形式存在,且不會再被複寫。
新增發行項
您也可以將發行項新增到現有的發行集中,當發行項被新增時,下列規則將套用:
如果發行集相容性層級為 90RTM 以上,您可以新增發行項,而不必強制 SQL Server Compact 3.5 訂閱的重新初始化。
如果相容性層級低於 90RTM,則會產生錯誤,且您必須重新初始化訂閱。
資料表必須先被新增至資料庫中,才能被新增至發行集。
發行項是透過使用 using sp_addmergearticle 新增至發行集。
新增至訂閱的資料表可能包含對其他同樣存在於發行集中的發行項之條件約束。
例如,發行集包含 Employees、Customers 和 Orders 資料表,而您於稍後新增 OrderDetails 資料表到發行集中,OrderDetails 資料表可能包含 Orders 資料表的外部索引鍵條件約束。
重要
如果新增至現有發行的 SQL Server 資料表中的資料行是識別欄位,則必須重新初始化 SQL Server Compact 3.5 訂閱者。