sp_changearticle (Transact-SQL)
Actualizado: 14 de abril de 2006
Cambia las propiedades de un artículo en una publicación transaccional o de instantáneas. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_changearticle [ [@publication= ] 'publication' ]
[ , [ @article= ] 'article' ]
[ , [ @property= ] 'property' ]
[ , [ @value= ] 'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ , [ @publisher = ] 'publisher' ]
Argumentos
- [ @publication=] 'publication'
Es el nombre de la publicación que contiene el artículo. publication es de tipo sysname y su valor predeterminado es NULL.
- [ @article=] 'article'
Es el nombre del artículo cuya propiedad se va a cambiar. article es de tipo sysname y su valor predeterminado es NULL.
- [ @property=] 'property'
Es una propiedad del artículo que se va a cambiar. property es de tipo nvarchar(100).
[ @value=] 'value'
Es el nuevo valor de la propiedad del artículo. value es de tipo nvarchar(255).En esta tabla se describen las propiedades de los artículos y los valores de esas propiedades.
Propiedad
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Confirma que la acción realizada por este procedimiento almacenado puede invalidar una instantánea existente. force_invalidate_snapshot es de tipo bit y su valor predeterminado es 0.0 especifica que los cambios en el artículo no invalidarán la instantánea. Si el procedimiento almacenado detecta que el cambio requiere una nueva instantánea, se producirá un error y no se realizarán cambios.
1 especifica que los cambios realizados en el artículo pueden invalidar la instantánea y, si hay suscripciones existentes que requieran una nueva instantánea, concede permiso para marcar como obsoleta la instantánea existente y generar una nueva.
Vea la sección Notas para obtener información acerca de las propiedades que requieren la generación de una nueva instantánea cuando se cambian.
[ **@force_reinit_subscription=]**force_reinit_subscription
Confirma que la acción realizada por este procedimiento almacenado puede requerir la reinicialización de las suscripciones existentes. 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. Si el procedimiento almacenado detecta que el cambio requiere la reinicialización de las suscripciones existentes, se producirá un error y no se realizarán cambios.
1 especifica que los cambios que se realicen en el artículo harán que se reinicialicen las suscripciones existentes y concede permiso para que la reinicialización se lleve a cabo.
Vea la sección Notas para obtener información acerca de las propiedades que, cuando cambian, requieren la reinicialización de todas las suscripciones existentes.
[ @publisher= ] 'publisher'
Especifica un publicador que no es de SQL Server. publisher es de tipo sysname y su valor predeterminado es NULL.[!NOTA] publisher no debería utilizarse cuando se cambien las propiedades de artículo de un publicador de SQL Server.
Notas
sp_changearticle se utiliza en la réplica de instantáneas y transaccional.
Cuando un artículo pertenece a una publicación que admite la réplica transaccional de punto a punto, sólo se pueden cambiar las propiedades description, ins_cmd, upd_cmd y del_cmd.
Si se cambia cualquiera de las siguientes propiedades, es necesario generar una instantánea nueva y especificar el valor 1 para el parámetro force_invalidate_snapshot:
- del_cmd
- dest_table
- destination_owner
- ins_cmd
- pre_creation_cmd
- schema_options
- upd_cmd
Si se cambia alguna de las siguientes propiedades, es necesario reinicializar las suscripciones existentes y especificar el valor 1 para el parámetro force_reinit_subscription.
- del_cmd
- dest_table
- destination_owner
- filter
- ins_cmd
- status
- upd_cmd
En una publicación existente, se puede utilizar sp_changearticle para cambiar un artículo sin tener que quitar y crear de nuevo toda la publicación.
[!NOTA] Al cambiar el valor de schema_option, el sistema no realiza una actualización bit a bit. Esto significa que al establecer schema_option mediante sp_changearticle es posible desactivar la configuración de bits existente. Para conservar los valores existentes, debe ejecutar una operación & (AND bit a bit) entre el valor que está estableciendo y el valor actual de schema_option, que puede determinarse ejecutando sp_helparticle.
Opciones de esquema válidas
En la tabla siguiente se describen los valores permitidos de schema_option en función del tipo de réplica (valores de la parte superior) y el tipo de artículo (valores de la primera columna).
Tipo de artículo | Tipo de réplica | |
---|---|---|
|
Transaccional |
Instantánea |
logbased |
Todas las opciones |
Todas las opciones excepto 0x02 |
logbased manualfilter |
Todas las opciones |
Todas las opciones excepto 0x02 |
logbased manualview |
Todas las opciones |
Todas las opciones excepto 0x02 |
indexed view logbased |
Todas las opciones |
Todas las opciones excepto 0x02 |
indexed view logbased manualfilter |
Todas las opciones |
Todas las opciones excepto 0x02 |
indexed view logbased manualview |
Todas las opciones |
Todas las opciones excepto 0x02 |
indexed view logbase manualboth |
Todas las opciones |
Todas las opciones excepto 0x02 |
proc exec |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 y 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 y 0x80000000 |
serialized proc exec |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 y 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 y 0x80000000 |
proc schema only |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 y 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 y 0x80000000 |
view schema only |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 y 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 y 0x80000000 |
func schema only |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, and 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, and 0x80000000 |
indexed view schema only |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 y 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 y 0x80000000 |
[!NOTA] Para las publicaciones de actualización en cola, se debe habilitar el valor 0x80 de schema_option. Los valores admitidos de schema_option para publicaciones que no son de SQL Server son: 0x01, 0x02, 0x10, 0x40, 0x80, 0x1000 y 0x4000.
Permisos
Sólo los miembros de la función fija de servidor sysadmin o la función fija de base de datos db_owner pueden ejecutar sp_changearticle.
Valores de código de retorno
0 (correcto) o 1 (error)
Ejemplo
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
DECLARE @option AS int;
SET @publication = N'AdvWorksProductTran';
SET @article = N'Product';
SET @option = (SELECT CAST(0x0000000002030073 AS int));
-- Change the schema options to replicate schema with XML.
USE [AdventureWorks]
EXEC sp_changearticle
@publication = @publication,
@article = @article,
@property = N'schema_option',
@value = @option,
@force_invalidate_snapshot = 1;
GO
Vea también
Referencia
sp_addarticle (Transact-SQL)
sp_articlecolumn (Transact-SQL)
sp_droparticle (Transact-SQL)
sp_helparticle (Transact-SQL)
sp_helparticlecolumns (Transact-SQL)
Otros recursos
How to: View and Modify Article Properties (Replication Transact-SQL Programming)
Cambiar las propiedades de la publicación y de los artículos
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
14 de abril de 2006 |
|
5 de diciembre de 2005 |
|