Cómo trabajar con perfiles de Agente de replicación (programación con RMO)

Los perfiles de Agente de replicación se usan para definir los valores predeterminados cuando se crea un trabajo de agente. Cada agente tiene un perfil predeterminado y algunos tienen perfiles adicionales predefinidos. Puede crear perfiles definidos por el usuario mediante objetos de administración de replicación (RMO). Para obtener información acerca de los perfiles, vea Perfiles del Agente de replicación.

Para crear un nuevo perfil de agente

  1. Cree una conexión al distribuidor utilizando una instancia de la clase ServerConnection.

  2. Cree una instancia de la clase AgentProfile.

  3. Establezca las siguientes propiedades en el objeto:

    • Name : nombre del perfil.

    • AgentType: un valor AgentType que especifica el tipo de Agente de replicación para el que se crea el perfil.

    • ConnectionContext : la ServerConnection creada en el paso 1.

    • (Opcional) Description : una descripción del perfil.

    • (Opcional) Default: establezca esta propiedad en true si todos los nuevos trabajos de agente para AgentType van a utilizar de forma predeterminada este perfil.

  4. Llame al método Create para crear el perfil en el servidor.

  5. Una vez que el perfil existe en el servidor, puede personalizarlo agregando, quitando o cambiando los valores de parámetros de agente de replicación.

  6. Para asignar el perfil a un trabajo del agente de réplica existente, llame al método AssignToAgent. Pase el nombre de la base de datos de distribución para distributionDBName y el Id. del trabajo para agentID.

Para modificar un perfil de agente existente

  1. Cree una conexión al distribuidor utilizando una instancia de la clase ServerConnection.

  2. Cree una instancia de la clase ReplicationServer. Pase el objeto ServerConnection creado en el paso 1.

  3. Llame al método LoadProperties. Si este método devuelve false, compruebe que el distribuidor existe.

  4. Llame al método EnumAgentProfiles. Pase un valor AgentType para reducir los perfiles devueltos a un tipo específico de agente de replicación.

  5. Obtenga el objeto AgentProfile que desea del ArrayListdevuelto, donde la propiedad Name del objeto coincide con el nombre del perfil.

  6. Llame a uno de los métodos siguientes de AgentProfile para cambiar el perfil:

    • AddParameter: agrega un parámetro compatible al perfil, donde name es el nombre del parámetro del Agente de replicación y value es el valor especificado. Para enumerar todos los parámetros del agente compatibles para un tipo de agente determinado, llame al método EnumParameterInfo. Este método devuelve ArrayList de objetos AgentProfileParameterInfo que representa todos los parámetros compatibles.

    • RemoveParameter: quita un parámetro existente del perfil, donde name es el nombre del parámetro de Agente de replicación. Para enumerar todos los parámetros de agente actuales definidos para el perfil, llame al método EnumParameters. Este método devuelve ArrayList de objetos AgentProfileParameter que representan el parámetro existente para este perfil.

    • ChangeParameter: cambia la configuración de un parámetro existente en el perfil, donde name es el nombre del parámetro del agente y newValue es el valor al que se cambia el parámetro. Para enumerar todos los parámetros de agente actuales definidos para el perfil, llame al método EnumParameters. Este método devuelve ArrayList de objetos AgentProfileParameter que representan el parámetro existente para este perfil. Para enumerar todos los valores de parámetro del agente compatibles, llame al método EnumParameterInfo. Este método devuelve ArrayList de objetos AgentProfileParameterInfo que representa los valores compatibles para todos los parámetros.

Para eliminar un perfil de agente

  1. Cree una conexión al distribuidor utilizando una instancia de la clase ServerConnection.

  2. Cree una instancia de la clase AgentProfile. Establezca el nombre del perfil para Name y la ServerConnection del paso 1 para ConnectionContext.

  3. Llame al método LoadProperties. Si este método devuelve false, significa que el nombre especificado era incorrecto o el perfil no existe en el servidor.

  4. Compruebe que la propiedad Type está establecida en User, que indica un perfil del cliente. No debería quitar ningún perfil que tenga un valor de System para Type.

  5. Llame al método Remove para quitar el perfil definido por el usuario representado por este objeto del servidor.