sp_addmergesubscription (języka Transact-SQL)
Tworzy scalania ściągać lub wypychanie subskrypcja.Ta procedura składowana jest wykonywany Wydawca publikacja bazy danych.
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ż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.
Zobacz także