Поделиться через


Как работать с профилями агента репликации (программирование объектов RMO)

Профили агента репликации позволяют задать значения по умолчанию при создании задания агента. Каждый агент имеет профиль по умолчанию, а некоторые агенты имеют и дополнительные предопределенные профили. Пользовательские профили могут быть созданы при помощи объектов RMO. Сведения о профилях см. в разделе Профили агента репликации.

Создание нового профиля агента

  1. Создайте соединение с распространителем с помощью экземпляра класса ServerConnection.

  2. Создайте экземпляр класса AgentProfile.

  3. Установите следующие свойства объекта:

    • Name — имя профиля.

    • AgentType – значение AgentType, указывающее на тип агента репликации, для которого создается профиль.

    • ConnectionContext – значение ServerConnection, созданного на шаге 1.

    • Description – описание профиля (необязательно).

    • Default – установите в значение true, если во всех заданиях агентов для данного AgentType этот профиль будет использоваться по умолчанию (необязательно).

  4. Вызовите метод Create для создания профиля на этом сервере.

  5. После создания профиля на сервере можно производить его настройку, добавляя, удаляя или изменяя значения параметров агента репликации.

  6. Назначение профиля для существующего задания агента репликации производится методом AssignToAgent. В качестве параметра distributionDBName передайте имя базы данных распространителя, а в параметре agentID — идентификатор задания.

Изменение существующего профиля агента

  1. Создайте соединение с распространителем с помощью экземпляра класса ServerConnection.

  2. Создайте экземпляр класса ReplicationServer. Передайте объект ServerConnection, созданный на шаге 1.

  3. Вызовите метод LoadProperties. Если этот метод возвратил значение false, проверьте, существует ли распространитель.

  4. Вызовите метод EnumAgentProfiles. Передайте значение AgentType, чтобы возвращались только те профили, которые предназначены для конкретного типа агента репликации.

  5. Извлеките объект AgentProfile из возвращенного списка ArrayList, где свойство Name объекта соответствует имени профиля.

  6. Чтобы изменить профиль, вызовите один из следующих методов объекта AgentProfile:

    • AddParameter – добавляет к профилю поддерживаемый параметр, где name – имя параметра агента репликации, а value – заданное значение. Перебор всех поддерживаемых параметров агента для данного типа агента производится методом EnumParameterInfo. Этот метод возвращает список ArrayList, содержащий объекты AgentProfileParameterInfo, которые представляют все поддерживаемые параметры.

    • RemoveParameter – удаляет один из существующих параметров из профиля, где name – имя параметра агента репликации. Чтобы перечислить все определенные для профиля параметры текущего агента, вызовите метод EnumParameters. Этот метод возвращает список ArrayList объектов AgentProfileParameter, которые представляют существующие параметры для данного профиля.

    • ChangeParameter – изменяет значение существующего параметра профиля, где name – имя параметра агента, а newValue – значение, которое параметр получает после изменения. Чтобы перечислить все определенные для профиля параметры текущего агента, вызовите метод EnumParameters. Этот метод возвращает список ArrayList объектов AgentProfileParameter, которые представляют существующие параметры для данного профиля. Перебор всех поддерживаемых параметров агента производится методом EnumParameterInfo. Этот метод возвращает список ArrayList, содержащий объекты AgentProfileParameterInfo, которые представляют поддерживаемые значения для всех параметров.

Удаление профиля агента

  1. Создайте соединение с распространителем с помощью экземпляра класса ServerConnection.

  2. Создайте экземпляр класса AgentProfile. Присвойте имя профиля свойству Name и значение ServerConnection, полученное на шаге 1, свойству ConnectionContext.

  3. Вызовите метод LoadProperties. Если метод вернул значение false, то имя указано неверно или профиль не существует на сервере.

  4. Удостоверьтесь в том, что свойству Type присвоено значение User, указывающее на клиентский профиль. Не следует удалять профиль, имеющий значение System в свойстве Type.

  5. Вызовите метод Remove для удаления с сервера пользовательского профиля, представляемого этим объектом.