Jak Praca z profilami Agent replikacji (Programowanie replikacji Transact-SQL)

Aby zdefiniować wartości domyślne podczas tworzenia zadanie agenta są używane profile agenta.Każdy agent ma domyślny profil, a niektóre mają dodatkowe predefiniowane profile.Można tworzyć profile użytkownika za pomocą procedur przechowywanych replikacja.Informacje agenta profilów, zobacz Profile Agent replikacji.

Ostrzeżenie

Nie należy modyfikować ani usuwać predefiniowane profile.Agent parametr zmiany zostaną wprowadzone przy następnym czas agent jest uruchomiony.Agent działa w sposób ciągły, należy zatrzymać i ponownie uruchomić agenta.

Aby utworzyć nowy profil agent

  1. wykonać na Dystrybutor, sp_add_agent_profile (języka Transact-SQL).Określ @ Nazwa, wartość 1 dla @ profile_type, i jeden z następujących wartości @ agent_type:

    Jeśli ten profil staną się nowy profil domyślny dla swojego typu agent replikacja, należy określić wartość 1 dla domyślne @.Identyfikator nowego profilu jest zwracana za pomocą @ profile_id parametr wyjścia.Spowoduje to utworzenie nowego profilu zestaw parametrów profilu na podstawie profilu domyślnego dla agenta danego typu.

  2. Po utworzeniu nowego profilu należy dodać, usunąć lub zmodyfikować parametry domyślne Dostosowywanie profilu.

Aby zmodyfikować istniejący profil agent

  1. wykonać na Dystrybutor, sp_help_agent_profile (języka Transact-SQL).Określ jedną z następujących wartości @ agent_type:

    Zwraca wszystkie profile dla określonego typu agenta.Zanotuj wartość profile_id w zestaw wyników dla profilu zmienić.

  2. wykonać na Dystrybutor, sp_help_agent_parameter (języka Transact-SQL).Określ identyfikator profilu z kroku 1 dla @ profile_id.Zwraca wszystkie parametry dla profilu.Zanotuj nazwę żadnych parametrów, zmodyfikować lub usunąć z profilu.

  3. Aby zmienić wartość parametru w profilu, wykonać sp_change_agent_profile (języka Transact-SQL).Określ identyfikator profilu z kroku 1 dla @ profile_id, nazwę parametru, aby zmienić @ Właściwośći nową wartość dla parametru wartość @.

    Ostrzeżenie

    Nie można zmienić istniejący profil agenta do domyślnego profilu dla agenta.Zamiast tego należy utworzyć nowy profil jako profil domyślny pokazanych w powyższej procedury.

  4. Aby usunąć parametr z profilu, wykonać sp_drop_agent_parameter (języka Transact-SQL).Określ identyfikator profilu z kroku 1 dla @ profile_id i nazwę parametru, aby usunąć @ parameter_name.

  5. Aby dodać nowy parametr do profilu, wykonaj następujące czynności:

Aby usunąć profil agent

  1. wykonać na Dystrybutor, sp_help_agent_profile (języka Transact-SQL).Określ jedną z następujących wartości @ agent_type:

    Zwraca wszystkie profile dla określonego typu agenta.Zanotuj wartość profile_id w zestaw wyników dla profilu do usunięcia.

  2. wykonać na Dystrybutor, sp_drop_agent_profile (języka Transact-SQL).Określ identyfikator profilu z kroku 1 dla @ profile_id.

Aby użyć profilów agent podczas synchronizacji

  1. wykonać na Dystrybutor, sp_help_agent_profile (języka Transact-SQL).Określ jedną z następujących wartości @ agent_type:

    Zwraca wszystkie profile dla określonego typu agenta.Zanotuj wartość nazwa_profilu w zestaw wyników dla profilu do używania.

  2. Jeśli agent jest uruchomiony z zadanie agenta, Edytuj krok zadanie uruchamiania agenta, aby określić wartość profile_name uzyskane w kroku 1 po - Nazwa_profilu parametr wiersza polecenia.Aby uzyskać więcej informacji, zobacz Jak Wyświetlanie i modyfikowanie parametrów wiersza polecenia Agent replikacji (SQL Server Management Studio).

  3. Podczas uruchamiania agenta wiersz polecenia, należy określić wartość nazwa_profilu uzyskane w kroku 1 po - Nazwa_profilu parametr wiersz polecenia.

Przykład

W tym przykładzie tworzony niestandardowego profilu dla agenta scalić o nazwie custom_merge, zmienia wartość - uploadreadchangesperbatch parametru dodaje nowy - exchangetype parametr i zwraca informacje o profil, który jest tworzony.

DECLARE @profilename AS sysname;
DECLARE @profileid AS int;
SET @profilename = N'custom_merge';

-- Create a temporary table to hold the returned 
-- Merge Agent profiles.
CREATE TABLE #profiles (
    profile_id int, 
    profile_name sysname,
    agent_type int,
    [type] int,
    description varchar(3000),
    def_profile bit)

INSERT INTO #profiles (profile_id, profile_name, 
    agent_type, [type],description, def_profile)
    EXEC sp_help_agent_profile @agent_type = 4;

SET @profileid = (SELECT profile_id FROM #profiles 
    WHERE profile_name = @profilename);

IF (@profileid IS NOT NULL)
BEGIN
    EXEC sp_drop_agent_profile @profileid;
END
DROP TABLE #profiles

-- Add a new merge agent profile. 
EXEC sp_add_agent_profile @profile_id = @profileid OUTPUT, 
@profile_name = @profilename, @agent_type = 4, 
@description = N'custom merge profile';

-- Change the value of uploadreadchangesperbatch in the profile.
EXEC sp_change_agent_parameter @profile_id = @profileid, 
    @parameter_name = N'-UploadReadChangesPerBatch', @parameter_value = 50;

-- Add a new parameter ExchangeType the profile. 
EXEC sp_add_agent_parameter @profile_id = @profileid, 
    @parameter_name = N'-ExchangeType', @parameter_value = 1;

-- Verify the new profile. 
EXEC sp_help_agent_parameter @profileid;
GO