sp_repldropcolumn (Transact-SQL)

適用於:SQL ServerAzure 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