Compartir a través de


sp_repldropcolumn (Transact-SQL)

Quita una columna de un artículo de tabla existente que ha sido publicado. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones.

Nota importanteImportante

Este procedimiento almacenado ha quedado desusado y se admite fundamentalmente por cuestiones de compatibilidad con las versiones anteriores. Solo debe utilizarse con publicadores de Microsoft SQL Server 2000 y suscriptores de SQL Server 2000 que se pueden volver a publicar. Este procedimiento no se debería utilizar en columnas con tipos de datos incluidos en SQL Server 2005 o SQL Server 2008.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

  • [ @source\_object = ] 'source_object'
    Es el nombre del artículo de la tabla que contiene la columna que se va a quitar. source_object es de tipo nvarchar(258) y no tiene ningún valor predeterminado.

  • [ @column = ] 'column'
    Es el nombre de la columna de la tabla que se va a quitar. column es de tipo sysname y no tiene ningún valor predeterminado.

  • [ @from\_agent = ] from_agent
    Si un agente de replicación está ejecutando el procedimiento almacenado. from_agent es de tipo int, con un valor predeterminado de 0; se utiliza el valor 1 cuando un agente de replicación está ejecutando este procedimiento almacenado y, en cualquier otro caso, se debe utilizar el valor predeterminado de 0.

  • [ @schema\_change\_script = ] 'schema_change_script'
    Especifica el nombre y la ruta de acceso de un script de SQL Server utilizado para modificar los procedimientos almacenados personalizados generados por el sistema. schema_change_script es de tipo nvarchar(4000) y su valor predeterminado es NULL. La replicación permite que los procedimientos almacenados personalizados definidos por el usuario sustituyan a uno o más de los procedimientos predeterminados utilizados en la replicación transaccional. schema_change_script se ejecuta después de que un cambio del esquema se realice en un artículo de tabla replicado mediante sp_repldropcolumn, y puede utilizarse para lo siguiente:

    • Si los procedimientos almacenados personalizados se generan automáticamente, schema_change_script puede utilizarse para quitar esos procedimientos almacenados personalizados y sustituirlos por procedimientos almacenados personalizados definidos por el usuario que admitan el nuevo esquema.

    • Si los procedimientos almacenados personalizados no se vuelven a generar automáticamente, schema_change_scriptpuede utilizarse para volver a generar estos procedimientos almacenados o para crear procedimientos almacenados personalizados definidos por el usuario.

  • [ @force\_invalidate\_snapshot = ] force_invalidate_snapshot
    Habilita o deshabilita la capacidad de que se invalide una instantánea. force_invalidate_snapshot es de tipo bit y su valor predeterminado es 1.

    El valor 1 significa que, al cambiar un artículo, la instantánea puede quedar invalidada y, en tal caso, el valor 1 concede el permiso necesario para que se produzca la nueva instantánea.

    0 especifica que los cambios en el artículo no invalidarán la instantánea.

  • [ @force\_reinit\_subscription = ] force_reinit_subscription
    Habilita o deshabilita la capacidad de reinicializar la suscripción. force_reinit_subscription es de tipo bit y su valor predeterminado es 0.

    El valor 0 especifica que los cambios en el artículo no obligarán a reinicializar la suscripción.

    El valor 1 significa que los cambios en un artículo pueden hacer que la suscripción se reinicialice y, en tal caso, este valor 1 concede el permiso necesario para que se reinicialice la suscripción.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

sp_repldropcolumn está desusado. La eliminación de una columna de un artículo de una tabla replicada debe hacerse mediante la ejecución de comandos de lenguaje de definición de datos (DDL) en la tabla publicada. La replicación replica automáticamente estos comandos DDL siempre que se haya habilitado la replicación DDL. Para obtener más información, vea Realizar cambios de esquema en bases de datos de publicaciones.

sp_repladdcolumn todavía se requiere para propagar cambios DDL de suscriptores de republicación en ejecución en una versión anterior de suscriptores de Microsoft SQL Server 2000.

sp_repldropcolumn se utiliza en todos los tipos de replicación.

Si utiliza sp_repldropcolumn y realiza un cambio de esquema en un artículo que pertenezca a una publicación que utiliza un paquete de Servicios de transformación de datos (DTS), el cambio de esquema no se propaga al suscriptor y los procedimientos personalizados para INSERT, UPDATE o DELETE no se vuelven a generar en los suscriptores. Será necesario que el usuario vuelva a generar el paquete DTS manualmente y realice el cambio de esquema correspondiente en los suscriptores. Si no se aplica la actualización de esquema, es posible que el Agente de distribución no pueda aplicar las modificaciones siguientes. Antes de realizar un cambio de esquema, asegúrese de que no hay transacciones pendientes de entrega.

Nota importanteImportante

Se debe realizar una copia de seguridad de la base de datos de publicación después de ejecutar sp_repldropcolumn. Si no se hace, se puede producir un error de mezcla después de restaurar la base de datos de publicación.

Permisos

Solo los miembros del rol fijo de servidor sysadmin en el publicador o los miembros de los roles fijos de base de datos db_owner o db_ddladmin de la base de datos de publicación pueden ejecutar sp_repldropcolumn.

Vea también

Referencia

Procedimientos almacenados del sistema (Transact-SQL)

Conceptos

Características que ya no se utilizan en la replicación de SQL Server