sp_addpullsubscription (języka Transact-SQL)

Dodaje subskrypcja wciągana migawka lub transakcyjnych publikacja.Ta procedura składowana jest wykonywany przez subskrybenta bazy danych w przypadku gdy subskrypcja wciągana ma być utworzony.

Ikona łącza do tematuKonwencje składni Transact-SQL

Składnia

sp_addpullsubscription [ @publisher= ] 'publisher'
    [ , [ @publisher_db= ] 'publisher_db' ]
        , [ @publication= ] 'publication'
    [ , [ @independent_agent= ] 'independent_agent' ]
    [ , [ @subscription_type= ] 'subscription_type' ]
    [ , [ @description= ] 'description' ]
    [ , [ @update_mode= ] 'update_mode' ]
    [ , [ @immediate_sync = ] immediate_sync ]

Argumenty

  • [ @ publisher = 'publisher"
    Is the name of the Publisher.publisher is sysname, with no default.

  • [ @ publisher_db = 'publisher_db"
    Is the name of the Publisher database.publisher_db is sysname, with a default of NULL.publisher_db is ignored by Oracle Publishers.

  • [ @ publikacja = 'publication"
    Is the name of the publication.publication is sysname, with no default.

  • [ @ independent_agent = 'independent_agent"
    Specifies if there is a stand-alone Distribution Agent for this publication.independent_agent is nvarchar(5), with a default of TRUE.Jeśli true, ma autonomiczne agenta dystrybucji dla tej publikacja.If false, there is one Distribution Agent for each Publisher database/Subscriber database pair.independent_agent is a property of the publication and must have the same value here as it has at the Publisher.

  • [ @ subscription_type = 'subscription_type"
    Is the type of subscription.subscription_type is nvarchar(9), with a default of anonymous.Należy określić wartość ściągać dla subscription_type, chyba że chcesz utworzyć subskrypcję bez rejestrowania subskrypcja Wydawca.W takim przypadek należy określić wartość anonimowych.Jest to konieczne dla przypadków, w których nie można ustanowić SQL Server połączenia z Wydawca podczas konfiguracja subskrypcja.

  • [ @ Opis = 'description"
    Is the description of the publication.description is nvarchar(100), with a default of NULL.

  • [ @ update_mode = 'update_mode"
    Is the type of update.update_mode is nvarchar(30), and can be one of the following values.

    Wartość

    Opis

    tylko do odczytu (domyślnie)

    Subskrypcja jest tylko do odczytu.Wszelkie zmiany subskrybent nie będą wysyłane do Wydawca.Powinny być używane podczas aktualizacji nie zostaną wprowadzone przez subskrybenta.

    synctran

    Umożliwia obsługę bezpośredniego subskrypcje aktualizacji.

    transakcji w kolejce

    Umożliwia subskrypcja dla aktualizacji w kolejce.Modyfikacji danych mogą być dokonywane przez subskrybenta, przechowywanych w kolejce i następnie propagowane do Wydawca.

    Praca awaryjna

    Umożliwia subskrypcja do natychmiastowej aktualizacji z aktualizacją kolejce jako pracy awaryjnej.Modyfikacji danych mogą być dokonywane przez subskrybenta i propagowane do Wydawca natychmiast.Jeśli wydawcę i subskrybenta nie są połączone, modyfikacje danych subskrybent mogą być przechowywane w kolejce, aż subskrybenta i Wydawca są ponownie podłączane.

    w kolejce pracy awaryjnej

    Umożliwia subskrypcja jako kolejkowanej subskrypcja aktualizacji z możliwością zmiany trybu na natychmiastowe aktualizowanie.Modyfikacji danych mogą być dokonywane przez subskrybenta i przechowywane w kolejce, aż ustanowieniu połączenia między subskrybenta i Wydawca.Po ustanowieniu połączenia stałe do natychmiastowej aktualizacji można zmienić tryb aktualizacji.Nieobsługiwane dla wydawców Oracle.

  • [ @ immediate_sync = immediate_sync
    Is whether the synchronization files are created or re-created each time the Snapshot Agent runs.immediate_sync is bit with a default of 1, and must be set to the same value as immediate_sync in sp_addpublication.immediate_sync is a property of the publication and must have the same value here as it has at the Publisher.

Wartości kodów powrotnych

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

Uwagi

sp_addpullsubscription w replikacja migawka i replikacja transakcyjna.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Kolejkowana subskrypcji aktualizacji, należy użyć SQL Server uwierzytelniania dla połączeń abonentów i określić inne konto dla połączenia z każdym subskrybenta.Podczas tworzenia subskrypcja wciągana , obsługuje aktualizowanie kolejce, replikacji zawsze ustawia połączenie do korzystania z uwierzytelniania systemu Windows (dla subskrypcja wciąganas, replikacja nie może uzyskać dostępu metadane subskrybent wymagane używanie SQL Server uwierzytelniania).W takim przypadek należy wykonać sp_changesubscription zmienić połączenie SQL Server uwierzytelniania po skonfigurowaniu subskrypcja.

Jeśli MSreplication_subscriptions (Transact-SQL) przez subskrybenta nie istnieje tabela sp_addpullsubscription tworzy go.Dodaje także wiersz, aby MSreplication_subscriptions (Transact-SQL) tabela.Dla ściągać subskrypcji, sp_addsubscription (języka Transact-SQL) powinna zostać wywołana przez wydawcę najpierw.

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".

-- Execute this batch at the Subscriber.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2008R2';

-- At the subscription database, create a pull subscription 
-- to a transactional publication.
USE [AdventureWorks2008R2Replica]
EXEC sp_addpullsubscription 
  @publisher = @publisher, 
  @publication = @publication, 
  @publisher_db = @publicationDB;

-- Add an agent job to synchronize the pull subscription.
EXEC sp_addpullsubscription_agent 
  @publisher = @publisher, 
  @publisher_db = @publicationDB, 
  @publication = @publication, 
  @distributor = @publisher, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

Uprawnienia

Tylko członkowie sysadmin stała rola serwera lub db_owner ustaloną rola bazy danych można wykonać sp_addpullsubscription.