分享方式:


sp_repldropcolumn (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

從已發佈的現有數據表發行項卸除數據行。 這個預存程式會在發行集資料庫的發行者端執行。

重要

此預存程式已被取代,且主要支援回溯相容性。 它只能與 SQL Server 2000 (8.x) 發行者及 SQL Server 2000 (8.x) 重新發行訂閱者搭配使用。 此程式不應該用於具有 SQL Server 2005 (9.x) 和更新版本中導入之數據類型的數據行上。

Transact-SQL 語法慣例

語法

sp_repldropcolumn
    [ @source_object = ] N'source_object'
    , [ @column = ] N'column'
    [ , [ @from_agent = ] from_agent ]
    [ , [ @schema_change_script = ] N'schema_change_script' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]

引數

[ @source_object = ] N'source_object'

包含要卸除之數據行的數據表發行項名稱。 @source_object為 nvarchar(270),沒有預設值。

[ @column = ] N'column'

要卸除之數據表中的數據行名稱。 @column為 sysname,沒有預設值。

[ @from_agent = ] from_agent

指定複寫代理程式是否正在執行預存程式。 @from_agent為 int,預設值為 0

當復寫代理程式執行這個預存程式時,請使用 1 ,否則請使用的預設值 0

[ @schema_change_script = ] N'schema_change_script'

指定用來修改系統產生的自訂預存程式之 SQL Server 腳本的名稱和路徑。 @schema_change_script為 nvarchar(4000),預設值為 NULL

復寫可讓使用者定義的自定義預存程式取代事務複製中使用的一或多個預設程式。 @schema_change_script是在使用 sp_repldropcolumn對復寫數據表發行項進行架構變更之後執行,而且可用於下列其中一個選項:

  • 如果自動重新產生自定義預存程式, @schema_change_script 可用來卸除這些自定義預存程式,並將其取代為支援新架構的使用者定義自定義預存程式。

  • 如果未自動重新產生自定義預存程式, @schema_change_script可用來重新產生這些預存程式,或建立使用者定義的自定義預存程式。

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

啟用或停用快照集失效的能力。 @force_invalidate_snapshot為 bit,預設值為 1

  • 1 會指定發行項的變更可能會導致快照集無效,如果發生這種情況,則 值 1 會授與新快照集發生的許可權。

  • 0 指定發行項的變更不會造成快照集無效。

[ @force_reinit_subscription = ] force_reinit_subscription

啟用或停用重新初始化訂閱的功能。 @force_reinit_subscription為 bit,預設值為 0

  • 0 指定發行項的變更不會使訂閱重新初始化。

  • 1 指定對發行項所做的變更可能會導致訂閱重新初始化,如果發生這種情況,則 值 1 會授與訂閱重新初始化的許可權。

傳回碼值

0 (成功) 或 1 (失敗)。

權限

只有發行者端 sysadmin 固定伺服器角色的成員,或發行集資料庫上 db_owner db_ddladmin固定資料庫角色的成員可以執行 sp_repldropcolumn