Udostępnij za pośrednictwem


sp_link_publication (języka Transact-SQL)

Ustawia informacje o konfiguracja i zabezpieczeń używane przez wyzwalacze synchronizacji natychmiastowego subskrypcje aktualizacji podczas łączenia się z Wydawca.Ta procedura składowana jest wykonywany przez subskrybenta na baza danych subskrypcja.

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

Podczas konfigurowania Publisher z dystrybutor zdalny, wartości dostarczone dla wszystkich parametrów, łącznie z job_login i job_password, są wysyłane do dystrybutora jako zwykły tekst.Należy zaszyfrować połączenie między wydawcy i jego dystrybutor zdalny przed wykonywania tej procedura składowana.Aby uzyskać więcej informacji, zobacz Szyfrowania połączeńSQL Server.

Ważna informacjaWażne:

Under certain conditions, this stored procedure can fail if the Subscriber is running Microsoft SQL Server 2005 Service Pack 1 or later, and the Publisher is running an earlier version.Niespełnieniu procedura składowana w tym scenariuszu uaktualnienia Wydawca do SQL Server 2005 z dodatkiem Service Pack 1 lub nowszym.

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

Składnia

sp_link_publication [ @publisher = ] 'publisher' 
        , [ @publisher_db = ] 'publisher_db' 
        , [ @publication = ] 'publication' 
        , [ @security_mode = ] security_mode
    [ , [ @login = ] 'login' ]
    [ , [ @password = ]'password' ]
    [ , [ @distributor = ] 'distributor' ]

Argumenty

  • [ program publisher @=] 'wydawcy"
    Is the name of the Publisher to link to.publisher is sysname, with no default.

  • [ @ publisher_db=] 'publisher_db"
    Is the name of the Publisher database to link to.publisher_db is sysname, with no default.

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

  • [ @ security_mode=] security_mode
    Is the security mode used by the Subscriber to connect to a remote Publisher for immediate updating.security_mode is int, and can be one of these values.Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.

    Wartość

    Opis

    0

    Używa SQL Server uwierzytelniania logowania określony w tym procedura składowana jako logowania i hasło.

    UwagaUwaga:
    W poprzednich wersjach SQL Server, ta opcja została użyta do określenia dynamicznego zdalnego wywołania procedury (RPC).

    1

    Używa kontekstu zabezpieczeń (SQL Server uwierzytelniania systemu Windows lub uwierzytelniania) użytkownika, wprowadzeniu zmian na subskrybenta.

    UwagaUwaga:
    To konto musi istnieć również Wydawca z wystarczających uprawnień.Podczas korzystania z uwierzytelniania systemu Windows, delegowanie konta zabezpieczeń musi być obsługiwany.

    2

    Korzysta z logowania serwer połączony istniejących, zdefiniowane przez użytkownika utworzone za pomocą sp_link_publication.

  • [ @ login=] 'logowania"
    Is the login.login is sysname, with a default of NULL.Ten parametr musi być określony, gdy security_mode jest 0.

  • [ hasło @=] 'hasło"
    Is the password.password is sysname, with a default of NULL.Ten parametr musi być określony, gdy security_mode jest 0.

  • [ @ dystrybutor = 'dystrybutor"
    Is the name of the Distributor.distributor is sysname, with a default of NULL.

Wartości kodów powrotnych

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

Uwagi

sp_link_publication jest używana przez natychmiastowe aktualizowanie subskrypcji w replikacja transakcyjna.

sp_link_publication może być używany dla obu wypychanie i ściągać subskrypcji.Może być wywołana przed lub po utworzeniu subskrypcja.Wpis jest wstawiany lub aktualizowany w MSsubscription_properties (Transact-SQL) tabela systemowa.

Dla wypychanie subskrypcji, wpis może być oczyszczone przez sp_subscription_cleanup (języka Transact-SQL).Dla ściągać subskrypcji, wpis może być oczyszczone przez sp_droppullsubscription (języka Transact-SQL) lub sp_subscription_cleanup (języka Transact-SQL).Można również wywołać sp_link_publication z hasłem NULL wyczyść wpis w MSsubscription_properties (Transact-SQL) tabela systemowa dla zabezpieczeń obawy.

Domyślny tryb używane przez natychmiastowe subskrybenta aktualizacji, gdy łączy się z Wydawca nie zezwala na połączenia przy użyciu uwierzytelniania systemu Windows.Połączyć się z trybu uwierzytelniania Windows, serwer połączony musi być zestaw do wydawcy i natychmiastowe aktualizowanie subskrybenta należy używać tego połączenia, podczas aktualizowania subskrybenta.Wymaga to sp_link_publication do uruchomienia z security_mode = 2.Podczas korzystania z uwierzytelniania systemu Windows, delegowanie konta zabezpieczeń musi być obsługiwany.

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 @publicationDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS nvarchar(512);
SET @publication = N'AdvWorksProductTran';
SET @publicationDB = N'AdventureWorks2008R2';
SET @publisher = $(PubServer);
SET @login = $(Login);
SET @password = $(Password);

-- At the subscription database, create a pull subscription to a transactional 
-- publication using immediate updating with queued updating as a failover.
EXEC sp_addpullsubscription 
    @publisher = @publisher, 
    @publication = @publication, 
    @publisher_db = @publicationDB, 
    @update_mode = N'failover', 
    @subscription_type = N'pull';

-- Add an agent job to synchronize the pull subscription, 
-- which uses Windows Authentication when connecting to the Distributor.
EXEC sp_addpullsubscription_agent 
    @publisher = @publisher, 
    @publisher_db = @publicationDB, 
    @publication = @publication,
    @job_login = @login,
    @job_password = @password; 

-- Add a Windows Authentication-based linked server that enables the 
-- Subscriber-side triggers to make updates at the Publisher. 
EXEC sp_link_publication 
    @publisher = @publisher, 
    @publication = @publication,
    @publisher_db = @publicationDB, 
    @security_mode = 0,
    @login = @login,
    @password = @password;
GO

USE AdventureWorks2008R2;
GO

-- Execute this batch at the Publisher.
DECLARE @publication AS sysname;
DECLARE @subscriptionDB AS sysname;
DECLARE @subscriber AS sysname;
SET @publication = N'AdvWorksProductTran'; 
SET @subscriptionDB = N'AdventureWorks2008R2Replica'; 
SET @subscriber = $(SubServer);

-- At the Publisher, register the subscription, using the defaults.
USE [AdventureWorks2008R2]
EXEC sp_addsubscription 
    @publication = @publication, 
    @subscriber = @subscriber, 
    @destination_db = @subscriptionDB, 
    @subscription_type = N'pull', 
    @update_mode = N'failover';
GO

Uprawnienia

Tylko członkowie sysadmin stała rola serwera można wykonać sp_link_publication.