sp_addmergepushsubscription_agent (Transact-SQL)

Actualizado: 12 de diciembre de 2006

Agrega un nuevo trabajo de agente que se utiliza para programar la sincronización de una suscripción de inserción con una publicación de mezcla. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones.

ms186780.security(es-es,SQL.90).gifNota de seguridad:
 Al configurar un publicador con un distribuidor remoto, los valores suministrados para todos los parámetros, incluidos job_login y job_password, se envían al distribuidor como texto sin formato. Debe cifrar la conexión entre el publicador y su distribuidor remoto antes de ejecutar este procedimiento almacenado. Para obtener más información, vea Cifrar conexiones a SQL Server.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_addmergepushsubscription_agent [ @publication =] 'publication' 
    [ , [ @subscriber = ] 'subscriber' ] 
    [ , [ @subscriber_db = ] 'subscriber_db' ] 
    [ , [ @subscriber_security_mode = ] subscriber_security_mode ] 
    [ , [ @subscriber_login = ] 'subscriber_login' ] 
    [ , [ @subscriber_password = ] 'subscriber_password' ] 
    [ , [ @publisher_security_mode = ] publisher_security_mode ] 
    [ , [ @publisher_login = ] 'publisher_login' ] 
    [ , [ @publisher_password = ] 'publisher_password' ] 
    [ , [ @job_login = ] 'job_login' ] 
    [ , [ @job_password = ] 'job_password' ] 
    [ , [ @job_name = ] 'job_name' ] 
    [ , [ @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 ] 
    [ , [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' ] 

Argumentos

  • [ @publication = ] 'publication'
    Es el nombre de la publicación. publication es de tipo sysname y no tiene ningún valor predeterminado.
  • [ @subscriber = ] 'subscriber'
    Es el nombre del suscriptor. subscriber es de tipo sysname y su valor predeterminado es NULL.
  • [ @subscriber_db = ] 'subscriber_db'
    Es el nombre de la base de datos de suscripciones. subscriber_db es de tipo sysname y su valor predeterminado es NULL.
  • [ @subscriber_security_mode = ] subscriber_security_mode
    Es el modo de seguridad que se utiliza para conectarse a un suscriptor para la sincronización. subscriber_security_mode es de tipo int y su valor predeterminado es 1. 0 especifica la autenticación de SQL Server. Si es 1, especifica Autenticación de Windows.
  • [ @subscriber_login = ] 'subscriber_login'
    Es el inicio de sesión del suscriptor que se utiliza al conectarse a un suscriptor al sincronizar. subscriber_login es obligatorio si subscriber_security_mode se establece en 0. subscriber_login es de tipo sysname y su valor predeterminado es NULL.
  • [ @subscriber_password = ] 'subscriber_password'
    Es la contraseña del suscriptor para la Autenticación de SQL Server. subscriber_password es obligatorio si subscriber_security_mode se establece en 0. subscriber_password es de tipo sysname y su valor predeterminado es NULL. Si se utiliza una contraseña de suscriptor, se cifra automáticamente.

    ms186780.security(es-es,SQL.90).gifNota de seguridad:
    Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar credenciales en un archivo de secuencia de comandos, debe proteger el archivo para impedir el acceso no autorizado.
  • [ @publisher_security_mode = ] publisher_security_mode
    Es el modo de seguridad que se utiliza para conectarse a un publicador para la sincronización. publisher_security_mode es de tipo int y su valor predeterminado es 1. 0 especifica la autenticación de SQL Server. Si es 1, especifica Autenticación de Windows.
  • [ @publisher_login = ] 'publisher_login'
    Es el inicio de sesión que se utiliza al conectarse a un publicador durante la sincronización. publisher_login es de tipo sysname y su valor predeterminado es NULL.
  • [ @publisher_password = ] 'publisher_password'
    Es la contraseña que se utiliza al conectarse al publicador. publisher_password es de tipo sysname y su valor predeterminado es NULL.

    ms186780.security(es-es,SQL.90).gifNota de seguridad:
    Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar las credenciales en un archivo de secuencia de comandos, proteja el archivo para evitar el acceso no autorizado.
  • [ @job_login = ] 'job_login'
    Es el inicio de sesión de la cuenta de Windows en la que se ejecuta el agente. job_login es de tipo nvarchar(257) y su valor predeterminado es NULL. Esta cuenta de Windows se utiliza siempre para las conexiones de agentes al distribuidor y para las conexiones al suscriptor y al publicador, cuando se utiliza la autenticación de Windows integrada.
  • [ @job_password = ] 'job_password'
    Es la contraseña de la cuenta de Windows con la que se ejecuta el agente. job_password es de tipo sysname y no tiene ningún valor predeterminado.

    ms186780.security(es-es,SQL.90).gifNota de seguridad:
    Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar las credenciales en un archivo de secuencia de comandos, proteja el archivo para evitar el acceso no autorizado.
  • [ @job_name = ] 'job_name'
    Es el nombre de un trabajo del agente existente. job_name es de tipo sysname y su valor predeterminado es NULL. Este parámetro sólo se especifica cuando se sincroniza la suscripción con un trabajo existente en lugar de utilizar un trabajo recién creado (la opción predeterminada). Si no es miembro de la función fija de servidor sysadmin, debe especificar job_login y job_password cuando especifique job_name.
  • [ @frequency_type = ] frequency_type
    Es la frecuencia con que se programa el Agente de mezcla. frequency_type es de tipo int y puede tener uno de los valores siguientes.

    Valor Descripción

    1

    Una vez

    2

    A petición

    4 (predeterminado)

    Diario

    8

    Semanal

    16

    Mensual

    32

    Mensual relativo

    64

    Iniciar automáticamente

    128

    Periódico

    NULL

     

    [!NOTA] Al especificar un valor de 64, el Agente de mezcla se ejecuta en modo continuo. Esto equivale a configurar el parámetro -Continuous para el agente. Para obtener más información, vea Replication Merge Agent.

  • [ @frequency_interval = ] frequency_interval
    Los días en los que se ejecuta el Agente de mezcla. frequency_interval es de tipo int y puede tener uno de los valores siguientes.

    Valor Descripción

    1

    Domingo

    2

    Lunes

    3

    Martes

    4

    Miércoles

    5

    Jueves

    6

    Viernes

    7

    Sábado

    8

    Día

    9

    Días de la semana

    10

    Días del fin de semana

    NULL (predeterminado)

     

  • [ @frequency_relative_interval = ] frequency_relative_interval
    Es la fecha del Agente de mezcla. Este parámetro se utiliza cuando frequency_type se ha establecido en 32 (mensual relativa). frequency_relative_interval es de tipo int y puede tener uno de los siguientes valores.

    Valor Descripción

    1

    Primero

    2

    Segundo

    4

    Tercero

    8

    Cuarto

    16

    Último

    NULL (predeterminado)

     

  • [ @frequency_recurrence_factor = ] frequency_recurrence_factor
    Es el factor de periodicidad utilizado por frequency_type. frequency_recurrence_factor es de tipo int y su valor predeterminado es NULL.
  • [ @frequency_subday = ] frequency_subday
    Es la frecuencia con la que se vuelve a programar durante el período definido. frequency_subday es de tipo int y puede tener uno de los siguientes valores.

    Valor Descripción

    1

    Una vez

    2

    Segundo

    4

    Minuto

    8

    Hora

    NULL (predeterminado)

     

  • [ @frequency_subday_interval = ] frequency_subday_interval
    Es el intervalo de frequency_subday. frequency_subday_interval es de tipo int y su valor predeterminado es NULL.
  • [ @active_start_time_of_day = ] active_start_time_of_day
    Hora del día de la primera programación del Agente de mezcla, con el formato HHMMSS. active_start_time_of_day es de tipo int y su valor predeterminado es NULL.
  • [ @active_end_time_of_day = ] active_end_time_of_day
    Hora del día de en que se detiene la programación del Agente de mezcla, con el formato HHMMSS. active_end_time_of_day es de tipo int y su valor predeterminado es NULL.
  • [ @active_start_date = ] active_start_date
    Es la fecha en la que comienza la programación del Agente de mezcla, en formato YYYYMMDD. active_start_date es de tipo int y su valor predeterminado es NULL.
  • [ @active_end_date = ] active_end_date
    Es la fecha en que se detiene la programación del Agente de mezcla, en formato YYYYMMDD. active_end_date es de tipo int y su valor predeterminado es NULL.
  • [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr'
    Especifica si la suscripción se puede sincronizar mediante el Administrador de sincronización de Windows. enabled_for_syncmgr es de tipo nvarchar(5) y su valor predeterminado es FALSE. Si es false, la suscripción no se registra con el Administrador de sincronización. Si es true, la suscripción se registra con el Administrador de sincronización y se puede sincronizar sin iniciar SQL Server Management Studio.

Notas

sp_addmergepushsubscription_agent se usa en la réplica de mezcla y utiliza una funcionalidad similar a la de sp_addpushsubscription_agent.

Permisos

Sólo los miembros de la función fija de servidor sysadmin o de la función fija de base de datos db_owner pueden ejecutar sp_addmergepushsubscription_agent.

Valores de código de retorno

0 (correcto) o 1 (error)

Ejemplo

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorksReplica'; 
SET @hostname = N'adventure-works\david8'

-- Add a push subscription to a merge publication.
USE [AdventureWorks]
EXEC sp_addmergesubscription 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @subscription_type = N'push',
  @hostname = @hostname;

--Add an agent job to synchronize the push subscription.
EXEC sp_addmergepushsubscription_agent 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

Vea también

Referencia

sp_addmergesubscription (Transact-SQL)
sp_changemergesubscription (Transact-SQL)
sp_dropmergesubscription (Transact-SQL)
sp_helpmergesubscription (Transact-SQL)

Otros recursos

Cómo crear una suscripción de inserción (programación de la réplica con Transact-SQL)
Suscribirse a publicaciones

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

12 de diciembre de 2006

Contenido nuevo:
  • Se agregó una nota para notificar que un parámetro @frequency_type de 64 hace que el Agente de mezcla se ejecute en modo continuo.
Contenido actualizado:
  • Se cambió la documentación: el valor predeterminado para @frequency_type es 4.