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 es obsoleto y se admite fundamentalmente por cuestiones de compatibilidad con las versiones anteriores. Sólo 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 temasConvenciones 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 tabla que contiene la columna que se va a quitar. source_object es de tipo nvarchar(258) y no tiene 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 valor predeterminado.

  • [ @from_agent = ] from_agent
    Indica si un agente de replicación está ejecutando el procedimiento almacenado. from_agent es de tipo int y su valor predeterminado es 0; el valor 1 se utiliza cuando un agente de replicación está ejecutando el procedimiento almacenado y, en los demás casos, se debe utilizar el valor predeterminado 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 se realice un cambio de esquema en un artículo de tabla replicado mediante sp_repldropcolumn; puede utilizarse para realizar una de las operaciones siguientes:

    • 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 posibilidad de invalidar 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.

    0 especifica que los cambios en el artículo no harán que se reinicialice la suscripción.

    1 significa que los cambios en un artículo pueden hacer que la suscripción se reinicialice y, en tal caso, el 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 es obsoleto. 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 las bases de datos de publicación.

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

Sólo los miembros de la función de servidor fija sysadmin en el publicador o los miembros de las funciones de base de datos fijas db_owner o db_ddladmin de la base de datos de publicaciones pueden ejecutar sp_repldropcolumn.