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

指定存储过程是否由副本 (replica)代理执行。 @from_agent为 int,默认值为 0.

当此存储过程由副本 (replica)代理执行时使用1,否则使用默认值 0

[ @schema_change_script = ] N'schema_change_script'

指定用于修改系统生成的自定义存储过程的 SQL Server 脚本的名称和路径。 @schema_change_script为 nvarchar(4000),默认值为 NULL.

复制允许用户定义的自定义存储过程替换事务复制中使用的一个或多个默认过程。 使用副本 (replica)表项目sp_repldropcolumn进行架构更改后执行@schema_change_script,并可用于以下选项之一:

  • 如果自动重新生成自定义存储过程, @schema_change_script 可用于删除这些自定义存储过程,并将其替换为支持新架构的用户定义自定义存储过程。

  • 如果未自动重新生成自定义存储过程, @schema_change_script可用于重新生成这些存储过程或创建用户定义的自定义存储过程。

[ @force_invalidate_snapshot = ] force_invalidate_快照

启用或禁用使快照失效的功能。 @force_invalidate_快照为,默认值为 1.

  • 1指定对项目所做的更改可能会导致快照无效,如果是这样,则表示新快照发生权限的值1

  • 0指定对项目所做的更改不会导致快照无效。

[ @force_reinit_subscription = ] force_reinit_subscription

启用或禁用重新初始化订阅的功能。 @force_reinit_subscription为,默认值为 0.

  • 0 指定对项目所做的更改不会导致重新初始化订阅。

  • 1 指定对文章的更改可能会导致重新初始化订阅,如果是这样,则会为订阅重新初始化授予权限的值 1

返回代码值

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

权限

只有发布服务器上 sysadmin 固定服务器角色的成员或 db_owner发布数据库中db_ddladmin固定数据库角色的成员才能执行。sp_repldropcolumn