sp_changesubstatus (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

Cambia el estado de un suscriptor existente. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicación.

Convenciones de sintaxis de Transact-SQL

Sintaxis

  
sp_changesubstatus [ [ @publication = ] 'publication' ]  
    [ , [ @article = ] 'article' ]  
    [ , [ @subscriber = ] 'subscriber' ]  
        , [ @status = ] 'status'  
    [ , [ @previous_status = ] 'previous_status' ]  
    [ , [ @destination_db = ] 'destination_db' ]  
    [ , [ @frequency_type = ] frequency_type ]  
    [ , [ @frequency_interval = ] frequency_interval ]  
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ]  
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]  
    [ , [ @frequency_subday = ] frequency_subday ]  
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ]  
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ]  
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ]  
    [ , [ @active_start_date = ] active_start_date ]  
    [ , [ @active_end_date = ] active_end_date ]  
    [ , [ @optional_command_line = ] 'optional_command_line' ]  
    [ , [ @distribution_jobid = ] distribution_jobid ]  
    [ , [ @from_auto_sync = ] from_auto_sync ]  
    [ , [ @ignore_distributor = ] ignore_distributor ]  
    [ , [ @offloadagent= ] remote_agent_activation ]  
    [ , [ @offloadserver= ] 'remote_agent_server_name' ]  
    [ , [ @dts_package_name= ] 'dts_package_name' ]  
    [ , [ @dts_package_password= ] 'dts_package_password' ]  
    [ , [ @dts_package_location= ] dts_package_location ]  
    [ , [ @skipobjectactivation = ] skipobjectactivation  
  [ , [ @distribution_job_name= ] 'distribution_job_name' ]  
    [ , [ @publisher = ] 'publisher' ]  

Argumentos

[ @publication = ] 'publication' Es el nombre de la publicación. publication es sysname, con un valor predeterminado de %. Si no se especifica la publicación , todas las publicaciones se ven afectadas.

[ @article = ] 'article' Es el nombre del artículo. Debe ser único para la publicación. article es sysname, con un valor predeterminado de %. Si no se especifica el artículo , todos los artículos se ven afectados.

[ @subscriber = ] 'subscriber' Es el nombre del suscriptor del que se va a cambiar el estado. subscriber es sysname, con un valor predeterminado de %. Si no se especifica el suscriptor , se cambia el estado de todos los suscriptores al artículo especificado.

[ @status = ] 'status' Es el estado de la suscripción en la tabla syssubscriptions . status es sysname, sin valor predeterminado, y puede ser uno de estos valores.

Value Descripción
active El suscriptor está sincronizado y recibe datos.
inactive Existe una entrada de suscriptor sin que haya una suscripción.
Suscrito El suscriptor solicita datos, pero aún no está sincronizado.

[ @previous_status = ] 'previous_status' Es el estado anterior de la suscripción. previous_status es sysname, con un valor predeterminado de NULL. Este parámetro permite cambiar todas las suscripciones que tengan ese estado, lo que permite agrupar funciones en un conjunto específico de suscripciones (por ejemplo, volver a establecer todas las suscripciones activas en suscritas).

[ @destination_db = ] 'destination_db' Es el nombre de la base de datos de destino. destination_db es sysname, con un valor predeterminado de %.

[ @frequency_type = ] frequency_type Es la frecuencia con la que programar la tarea de distribución. frequency_type es int, con un valor predeterminado de NULL.

[ @frequency_interval = ] frequency_interval Es el valor que se va a aplicar a la frecuencia establecida por frequency_type. frequency_interval es int, con un valor predeterminado de NULL.

[ @frequency_relative_interval = ] frequency_relative_interval Es la fecha de la tarea de distribución. Este parámetro se usa cuando frequency_type se establece en 32 (relativo mensual). frequency_relative_interval es int y puede ser uno de estos valores.

Value Description
1 First
2 Second
4 Tercera
8 Cuarta
16 Último
NULL (predeterminado)

[ @frequency_recurrence_factor = ] frequency_recurrence_factor Es el factor de periodicidad utilizado por frequency_type. frequency_recurrence_factor es int, con un valor predeterminado de NULL.

[ @frequency_subday = ] frequency_subday Es la frecuencia, en minutos, para volver a programar durante el período definido. frequency_subday es int y puede ser uno de estos valores.

Value Description
1 Una vez
2 Second
4 Minute
8 Hora
NULL (predeterminado)

[ @frequency_subday_interval = ] frequency_subday_interval Es el intervalo de frequency_subday. frequency_subday_interval es int, con un valor predeterminado de NULL.

[ @active_start_time_of_day = ] active_start_time_of_day Es la hora del día en que la tarea de distribución se programa por primera vez, con HHmmssel formato . active_start_time_of_day es int, con un valor predeterminado de NULL.

[ @active_end_time_of_day = ] active_end_time_of_day Es la hora del día en que la tarea de distribución deja de programarse, con el formato HHmmss. active_end_time_of_day es int, con un valor predeterminado de NULL.

[ @active_start_date = ] active_start_date Es la fecha en que la tarea de distribución se programa por primera vez, con yyyyMMddel formato . active_start_date es int, con un valor predeterminado de NULL.

[ @active_end_date = ] active_end_date Es la fecha en que la tarea de distribución deja de programarse, con el formato yyyyMMdd. active_end_date es int, con un valor predeterminado de NULL.

[ @optional_command_line = ] 'optional_command_line' Es un símbolo del sistema opcional. optional_command_line es nvarchar(4000) con un valor predeterminado de NULL.

[ @distribution_jobid = ] distribution_jobidEs el identificador de trabajo del Agente de distribución en el distribuidor de la suscripción al cambiar el estado de la suscripción de inactivo a activo. En otros casos, no se define. Si interviene más de un agente de distribución en una sola llamada a este procedimiento almacenado, el resultado no se define. distribution_jobid es binary(16) con un valor predeterminado de NULL.

[ @from_auto_sync = ] from_auto_sync

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

[ @ignore_distributor = ] ignore_distributor

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

[ @offloadagent = ] remote_agent_activation

Nota:

La activación remota del agente ha quedado desusada y ya no es compatible. Este parámetro solamente se admite por compatibilidad de scripts con versiones anteriores. Establecer remote_agent_activation en un valor distinto de 0 genera un error.

[ @offloadserver = ] 'remote_agent_server_name'

Nota:

La activación remota del agente ha quedado desusada y ya no es compatible. Este parámetro solamente se admite por compatibilidad de scripts con versiones anteriores. Establecer remote_agent_server_name en cualquier valor que no sea NULL genera un error.

[ @dts_package_name = ] 'dts_package_name' Especifica el nombre del paquete de Servicios de transformación de datos (DTS). dts_package_name es un sysname, con un valor predeterminado de NULL. Por ejemplo, para un paquete denominado DTSPub_Package especificaría @dts_package_name = N'DTSPub_Package'.

[ @dts_package_password = ] 'dts_package_password' Especifica la contraseña del paquete. dts_package_password es sysname con un valor predeterminado de NULL, que especifica que la propiedad password debe dejarse sin cambios.

Nota:

Un paquete DTS debe tener una contraseña.

[ @dts_package_location = ] dts_package_location Especifica la ubicación del paquete. dts_package_location es un valor int, con un valor predeterminado de 0. Si es 0, la ubicación del paquete está en el distribuidor. Si es 1, la ubicación del paquete está en el suscriptor. La ubicación del paquete puede ser distribuidor o suscriptor.

[ @skipobjectactivation = ] skipobjectactivation

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

[ @distribution_job_name = ] 'distribution_job_name' Es el nombre del trabajo de distribución. distribution_job_name es sysname, con un valor predeterminado de NULL.

[ @publisher = ] 'publisher' Especifica un publicador que no es de Microsoft SQL Server. publisher es sysname, con un valor predeterminado de NULL.

Nota:

Publisher no debe usarse al cambiar las propiedades de los artículos en un publicador de SQL Server.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

sp_changesubstatus se usa en la replicación de instantáneas y la replicación transaccional.

sp_changesubstatus cambia el estado del suscriptor en la tabla syssubscriptions con el estado cambiado. Si es necesario, actualiza el estado del artículo en la tabla sysarticles para indicar activo o inactivo. Si es necesario, establece la marca de replicación activada o desactivada en la tabla sysobjects de la tabla replicada.

Permisos

Solo los miembros del rol fijo de servidor sysadmin , db_owner rol fijo de base de datos o el creador de la suscripción pueden ejecutar sp_changesubstatus.

Consulte también

sp_addsubscription (Transact-SQL)
sp_dropsubscription (Transact-SQL)
sp_helpdistributor (Transact-SQL)
sp_helpsubscription (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)