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ń |
---|
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ż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. |
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.
Uwaga: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.
Uwaga: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.