Udostępnij za pośrednictwem


sp_addmergesubscription (języka Transact-SQL)

Tworzy scalania ściągać lub wypychanie subskrypcja.Ta procedura składowana jest wykonywany Wydawca publikacja bazy danych.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_addmergesubscription [ @publication= ] 'publication'
    [ , [ @subscriber = ] 'subscriber' ]
    [ , [ @subscriber_db= ] 'subscriber_db' ]
    [ , [ @subscription_type= ] 'subscription_type' ]
    [ , [ @subscriber_type= ] 'subscriber_type' ]
    [ , [ @subscription_priority= ] subscription_priority ]
    [ , [ @sync_type= ] 'sync_type' ]
    [ , [ @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' ]
    [ , [ @description= ] 'description' ]
    [ , [ @enabled_for_syncmgr= ] 'enabled_for_syncmgr' ]
    [ , [ @offloadagent= ] remote_agent_activation]
    [ , [ @offloadserver= ] 'remote_agent_server_name' ]
    [ , [ @use_interactive_resolver= ] 'use_interactive_resolver' ]
    [ , [ @merge_job_name= ] 'merge_job_name' ]
    [ , [ @hostname = ] 'hostname'

Argumenty

  • [ @publikacja =] 'publication'
    Jest to nazwa publikacja.publicationjest sysname, z braku domyślne.publikacja musi już istnieć.

  • [ @subskrybent =] 'subscriber'
    Jest to nazwa subskrybenta.subscriberjest sysname, domyślna wartość NULL.

  • [ @ subscriber_db =] 'subscriber_db'
    Jest to nazwa bazy danych subskrypcja .subscriber_dbjest sysname, domyślna wartość NULL.

  • [ @ subscription_type =] 'subscription_type'
    Jest to typ subskrypcja.subscription_typejest nvarchar(15), domyślnie WYPYCHANIA.Jeśli push, dodajesubskrypcja wypychaniei scalić agenta jest dodawane u dystrybutora. Jeśli pull, dodajesubskrypcja ściągaćbez dodawania agenta scalanie u dystrybutora.

    Ostrzeżenie

    Subskrypcje anonimowe nie trzeba używać tej procedura składowana.

  • [ @ subscriber_type =] 'subscriber_type'
    Jest to typ subskrybenta.subscriber_typejest nvarchar(15), i może mieć jedną z następujących wartości.

    Wartość

    Opis

    local (wartość domyślna)

    Subskrybent znany tylko Wydawca.

    global

    Wiadomo, że wszystkie serwery subskrybenta.

    W SQL Server 2005 i jego nowsze wersje lokalne subskrypcje są nazywane subskrypcji klient i subskrypcje globalne są określane jako serwera subskrypcji.Aby uzyskać więcej informacji zobacz "Rodzaje subskrypcji" sekcja w Jak replikacji scalania wykrywa i usuwa konflikty.

  • [ @ subscription_priority =] subscription_priority
    Liczba wskazuje priorytet dla subskrypcja.subscription_priorityjest real, domyślna wartość NULL.Priorytet jest 0.0 subskrypcje lokalne i anonimowe.Globalne subskrypcji priorytet musi być mniejsza niż 100.0.

  • [ @ sync_type =] 'sync_type'
    Jest to typ synchronizacji subskrypcja .sync_typejest nvarchar(15), domyślnie automatic.Can be automatic or none.Jeśli automatic, schematu i początkowych danych opublikowanych tabel są przenoszone do subskrybenta najpierw.Jeśli none, zakłada się, że abonent już schematu i początkowych danych opublikowanych tabel.Tabele systemowe i danych zawsze są przenoszone.

    Ostrzeżenie

    Zaleca się nie określając wartość none.Aby uzyskać więcej informacji, zobacz temat Inicjowanie subskrypcji korespondencji seryjnej bez migawki.

  • [ @ frequency_type =] frequency_type
    Jest wartością wskazującą, uruchomienia agenta scalania.frequency_typejest int, i może mieć jedną z następujących wartości.

    Wartość

    Opis

    1

    Raz

    4

    Dzienny

    8

    Tygodniowy

    10

    Miesięczne

    20

    Miesięczne względem przedziale częstotliwości

    40

    Gdy SQL Server uruchamiania agenta

    Wartość NULL (wartość domyślna)

     

  • [ @ frequency_interval =] frequency_interval
    Dzień lub dni, które działa Agent scalania.frequency_intervaljest int, i może mieć jedną z następujących wartości.

    Wartość

    Opis

    1

    Niedziela

    2

    Poniedziałek

    3

    Wtorek

    4

    Środa

    5

    Czwartek

    6

    Piątek

    7

    Sobota

    8

    Dzień

    9

    Dni powszednie

    10

    Dni weekendowe

    Wartość NULL (wartość domyślna)

     

  • [ @ frequency_relative_interval =] frequency_relative_interval
    Jest wystąpienie zaplanowane korespondencji seryjnej przedziale częstotliwości w każdym miesiącu.frequency_relative_intervaljest int, i może być jedną z tych wartości.

    Wartość

    Opis

    1

    First

    2

    Drugie

    4

    Trzecia

    8

    Czwarty

    16

    Last

    Wartość NULL (wartość domyślna)

     

  • [ @ frequency_recurrence_factor =] frequency_recurrence_factor
    Jest używany przez współczynnik cykl frequency_type.frequency_recurrence_factorjest int, domyślna wartość NULL.

  • [ @ frequency_subday =] frequency_subday
    Jednostka dla frequency_subday_interval.frequency_subdayjest int, i może mieć jedną z następujących wartości.

    Wartość

    Opis

    1

    Raz

    2

    Drugie

    4

    Minuta

    8

    Godzina

    Wartość NULL (wartość domyślna)

     

  • [ @ frequency_subday_interval =] frequency_subday_interval
    Częstotliwość dla frequency_subday występuje między każdym korespondencji seryjnej.frequency_subday_intervaljest int, domyślna wartość NULL.

  • [ @ active_start_time_of_day =] active_start_time_of_day
    czas po pierwszym agenta scalanie zaplanowano, sformatowane jako HHMMSS.active_start_time_of_dayjest int, domyślna wartość NULL.

  • [ @ active_end_time_of_day =] active_end_time_of_day
    Jest czas podczas scalania agenta Zatrzymuje zaplanowane, sformatowane jako HHMMSS.active_end_time_of_dayjest int, domyślna wartość NULL.

  • [ @ active_start_date =] active_start_date
    To data , podczas scalania agenta najpierw planowania w formacie RRRRMMDD.active_start_datejest int, domyślna wartość NULL.

  • [ @ active_end_date =] active_end_date
    To data , podczas scalania agenta przestanie być zaplanowane, w formacie RRRRMMDD.active_end_datejest int, domyślna wartość NULL.

  • [ @ optional_command_line =] 'optional_command_line'
    Jest opcjonalne wiersz polecenia do wykonać.optional_command_linejest nvarchar(4000), domyślna wartość NULL.Ten parametr jest używany, aby dodać polecenia, który przechwytuje dane wyjściowe i zapisuje w pliku lub określić plik konfiguracja lub atrybut.

  • [ @ Opis =] 'description'
    Jest krótki opis tej korespondencji seryjnej subskrypcja.descriptionjest nvarchar(255), domyślna wartość NULL.Ta wartość jest wyświetlana przez Monitor replikacji w Przyjazna nazwa kolumna, które mogą być używane do sortowania subskrypcji dla monitorowanej publikacja.

  • [ @ enabled_for_syncmgr =] 'enabled_for_syncmgr'
    Określa, jeżeli subskrypcja mogą być synchronizowane za pośrednictwem Microsoft Menedżera synchronizacji systemu Windows.enabled_for_syncmgrjest nvarchar(5), domyślna wartość FALSE.Jeśli false, subskrypcja nie jest zarejestrowana z Menedżera synchronizacji.Jeśli true, subskrypcja jest zarejestrowany przy użyciu Menedżera synchronizacji i może być synchronizowana bez uruchamiania Microsoft SQL Server Management Studio.

  • [ @ offloadagent = ] remote_agent_activation
    Określa, można zdalnie aktywować agenta.remote_agent_activationjest bit Domyślna 0.

    Ostrzeżenie

    Ten parametr zaniechano i utrzymywany tylko dla zgodności z poprzednimi wersjami skryptów.

  • [ @ offloadserver = ] 'remote_agent_server_name'
    Określa nazwy sieciowej serwera ma być używany dla agenta zdalnego aktywacja.remote_agent_server_namejest sysname, domyślna wartość NULL.

  • [ @ use_interactive_resolver = ] 'use_interactive_resolver'
    Umożliwia konfliktów można rozpoznać interakcyjne dla wszystkich artykułów, które umożliwia interakcyjne rozpoznawanie.use_interactive_resolverjest nvarchar(5), domyślna wartość FALSE.

  • [ @ merge_job_name = ] 'merge_job_name'
    Nazwa agenta scalić zadanie dodany dla tej subskrypcja.merge_job_namejest sysname, domyślna wartość NULL.Ten parametr umożliwia nazwa zadanie agenta scalić przekazywane tak, aby to zadanie może być administrowana później.

  • [ @ hostname= ] 'hostname'
    Wartości zwracane przez HOST_NAME gdy ta funkcja jest używana w klauzula sparametryzowana filtr.Hostname jest sysname, domyślna wartość NULL.

    Ważna informacjaWażne:

    Ze względu na wydajność, zaleca się nie zastosowanie funkcji nazw kolumna w klauzul sparametryzowany filtr wierszy , takich jak LEFT([MyColumn]) = SUSER_SNAME().Jeśli używasz HOST_NAME w filtr klauzula i zastąp wartość HOST_NAME, może być konieczne do konwersji typów danych za pomocą PRZEKONWERTOWAĆ.Aby uzyskać więcej informacji o najważniejszych wskazówkach dotyczących tej przypadekzobacz sekcję "Przesłanianie wartość HOST_NAME()" w temacie Filtry parametrami wiersza.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Uwagi

sp_addmergesubscription jest używany w replikacja scalająca.

Kiedy sp_addmergesubscription wykonane przez element członkowski sysadmin stała rola serwera do utworzenia wypychanie subskrypcja, scalanie agenta zadanie niejawnie tworzonymi i uruchamiana jest SQL Server konto usługa agenta.Zalecane jest wykonać sp_addmergepushsubscription_agent i określ poświadczenia innego konta systemu Windows w agenta specyficzne dla @ job_login i @ job_password.Aby uzyskać więcej informacji, zobacz temat Model zabezpieczeń Agent replikacji.

Przykład

-- 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'AdventureWorks2008R2Replica'; 
SET @hostname = N'adventure-works\david8'

-- Add a push subscription to a merge publication.
USE [AdventureWorks2008R2]
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

Uprawnienia

Tylko członkowie sysadmin stała rola serwera lub db_owner Stała rola bazy danych można wykonać sp_addmergesubscription.