從已發(fā)布的現(xiàn)有表項目中除去列。此存儲過程在發(fā)布服務器的發(fā)布數(shù)據(jù)庫上執(zhí)行。
sp_repldropcolumn [ @source_object = ] 'source_object'
, [ @column = ] 'column'
[ , [ @schema_change_script = ] 'schema_change_script' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[@source_object =] 'source_object'
是包含要除去的列的表項目名。source_object 的數(shù)據(jù)類型為 nvarchar(258),無默認值。
[@column =] 'column'
是表中要除去的列名。column 的數(shù)據(jù)類型為 sysname,無默認值。
[@schema_change_script =] 'schema_change_script'
是 SQL 腳本的路徑。schema_change_script 的數(shù)據(jù)類型為 nvarchar(4000),默認值為 NULL。
[@force_invalidate_snapshot = ] force_invalidate_snapshot
啟用或禁用使快照無效的能力。force_invalidate_snapshot 的數(shù)據(jù)類型為 bit,默認值為 1。1 指定項目的更改可能導致快照無效,如果真是這樣,則值 1 提供產(chǎn)生新快照的權(quán)限。0 指定項目的更改不會導致快照無效。
[@force_reinit_subscription = ] force_reinit_subscription
啟用或禁用使訂閱重新初始化的能力。force_reinit_subscription 的數(shù)據(jù)類型為 bit,默認值為 0。0 指定項目的更改不會導致訂閱重新初始化。1 指定項目的更改可能導致訂閱重新初始化,如果真是這樣,則值 1 提供重新初始化訂閱的權(quán)限。
0(成功)或 1(失?。?/P>
sp_repldropcolumn 用于所有類型的復制。
當使用 sp_repldropcolumn 時,如果對某個項目的架構(gòu)做了更改,而該項目所屬的發(fā)布使用 DTS 包,則架構(gòu)更改不會傳播到訂閱服務器,并且在訂閱服務器上不會重新生成 INSERT/UPDATE/DELETE 的自定義過程。用戶需要手工重新生成 DTS 包,并在訂閱服務器上生成相應的架構(gòu)更改。如果不應用架構(gòu)更新,則分發(fā)代理程序應用隨后的修改將失敗。生成架構(gòu)更改之前,確保沒有要傳送的掛起事務。有關更多信息,請參見如何轉(zhuǎn)換已發(fā)布數(shù)據(jù)。
重要 應在執(zhí)行 sp_repldropcolumn后執(zhí)行發(fā)布數(shù)據(jù)庫的備份。如果沒有這樣做,會在發(fā)布數(shù)據(jù)庫還原后導致合并失敗。