sp_attachsubscription (Transact-SQL)
Fügt eine vorhandene Abonnementdatenbank an einen beliebigen Abonnenten an. Diese gespeicherte Prozedur wird beim neuen Abonnenten für die master-Datenbank ausgeführt.
Wichtig |
---|
Dieses Feature wurde als veraltet markiert und wird in einer zukünftigen Version entfernt. Dieses Feature sollte bei neuen Entwicklungen nicht verwendet werden. Für Mergeveröffentlichungen, die mithilfe von parametrisierten Filtern partitioniert werden, ist es empfehlenswert, die neuen Features von partitionierten Snapshots zu verwenden. Diese vereinfachen die Initialisierung zahlreicher Abonnements. Weitere Informationen finden Sie unter Snapshots für Mergeveröffentlichungen mit parametrisierten Filtern. Für nicht partitionierte Veröffentlichungen können Sie ein Abonnement mit einer Sicherung initialisieren. Weitere Informationen finden Sie unter Initialisieren eines Mergeabonnements ohne Momentaufnahme und Initialisieren eines Transaktionsabonnements ohne Snapshot. |
Syntax
sp_attachsubscription [ @dbname = ] 'dbname'
, [ @filename = ] 'filename'
[ , [ @subscriber_security_mode = ] 'subscriber_security_mode' ]
[ , [ @subscriber_login = ] 'subscriber_login' ]
[ , [ @subscriber_password = ] 'subscriber_password' ]
[ , [ @distributor_security_mode = ] distributor_security_mode ]
[ , [ @distributor_login = ] 'distributor_login' ]
[ , [ @distributor_password = ] 'distributor_password' ]
[ , [ @publisher_security_mode = ] publisher_security_mode ]
[ , [ @publisher_login = ] 'publisher_login' ]
[ , [ @publisher_password = ] 'publisher_password' ]
[ , [ @job_login = ] 'job_login' ]
[ , [ @job_password = ] 'job_password' ]
[ , [ @db_master_key_password = ] 'db_master_key_password' ]
Argumente
[ @dbname= ] 'dbname'
Die Zeichenfolge, die die Ziel-Abonnementdatenbank namentlich angibt. dbname ist vom Datentyp sysname und hat keinen Standardwert.[ @filename= ] 'filename'
Der Name und physische Speicherort der primären MDF-Datei (master Data File). filename ist vom Datentyp nvarchar(260) und hat keinen Standardwert.[ @subscriber_security_mode= ] 'subscriber_security_mode'
Der Sicherheitsmodus des Abonnenten, der bei der Synchronisierung zum Herstellen einer Verbindung mit einem Abonnenten verwendet wird. subscriber_security_mode ist vom Datentyp int; der Standardwert ist NULL.Hinweis Die Windows-Authentifizierung muss verwendet werden. Wenn subscriber_security_mode nicht 1 (Windows-Authentifizierung) ist, wird ein Fehler zurückgegeben.
[ @subscriber_login= ] 'subscriber_login'
Der Anmeldename des Abonnenten, der bei der Synchronisierung zum Herstellen einer Verbindung mit einem Abonnenten verwendet wird. subscriber_login ist vom Datentyp sysname; der Standardwert ist NULL.Hinweis Dieser Parameter wurde als veraltet markiert und wird nur aus Gründen der Abwärtskompatibilität von Skripts beibehalten. Wenn subscriber_security_mode nicht 1 ist und subscriber_login angegeben ist, wird ein Fehler zurückgegeben.
[ @subscriber_password= ] 'subscriber_password'
Das Kennwort des Abonnenten. subscriber_password ist vom Datentyp sysname; der Standardwert ist NULL.Hinweis Dieser Parameter wurde als veraltet markiert und wird nur aus Gründen der Abwärtskompatibilität von Skripts beibehalten. Wenn subscriber_security_mode nicht 1 ist und subscriber_password angegeben ist, wird ein Fehler zurückgegeben.
[ @distributor_security_mode= ] distributor_security_mode
Der Sicherheitsmodus, der beim Synchronisieren zum Herstellen einer Verbindung mit einem Verteiler verwendet wird. distributor_security_mode ist vom Datentyp int; der Standardwert ist 0. 0 gibt die SQL Server-Authentifizierung an. 1 gibt die Windows-Authentifizierung an. Verwenden Sie nach Möglichkeit die Windows-Authentifizierung.[ @distributor_login= ] 'distributor_login'
Der Anmeldename des Verteilers, der beim Synchronisieren zum Herstellen einer Verbindung mit einem Verteiler verwendet wird. distributor_login ist erforderlich, wenn distributor_security_mode auf 0 festgelegt ist. distributor_login ist vom Datentyp sysname; der Standardwert ist NULL.[ @distributor_password= ] 'distributor_password'
Das Kennwort des Verteilers. distributor_password ist erforderlich, wenn distributor_security_mode auf 0 festgelegt ist. distributor_password ist vom Datentyp sysname; der Standardwert ist NULL. Der Wert von distributor_password muss unter 120 Unicode-Zeichen enthalten.Sicherheitshinweis Verwenden Sie kein leeres Kennwort. Verwenden Sie ein sicheres Kennwort. Die Benutzer sollten nach Möglichkeit während der Laufzeit zur Eingabe von Sicherheitsanmeldeinformationen aufgefordert werden. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, müssen Sie die Datei an einem sicheren Ort speichern, um den nicht autorisierten Zugriff zu verhindern.
[ @publisher_security_mode= ] publisher_security_mode
Der Sicherheitsmodus, der beim Synchronisieren zum Herstellen einer Verbindung mit einem Verleger verwendet wird. publisher_security_mode ist vom Datentyp int; der Standardwert ist 1. Ist dieser Wert 0, gibt er die SQL Server-Authentifizierung an. Ist dieser Wert 1, gibt er die Windows-Authentifizierung an. Verwenden Sie nach Möglichkeit die Windows-Authentifizierung.[ @publisher_login= ] 'publisher_login'
Der Anmeldename, der beim Synchronisierung zum Herstellen einer Verbindung zum Verleger verwendet wird. publisher_login ist vom Datentyp sysname; der Standardwert ist NULL.[ @publisher_password= ] 'publisher_password'
Das zum Herstellen einer Verbindung mit dem Verleger verwendete Kennwort. publisher_password ist vom Datentyp sysname und hat den Standardwert NULL. Der Wert von publisher_password muss unter 120 Unicode-Zeichen enthalten.Sicherheitshinweis Verwenden Sie kein leeres Kennwort. Verwenden Sie ein sicheres Kennwort. Die Benutzer sollten nach Möglichkeit während der Laufzeit zur Eingabe von Sicherheitsanmeldeinformationen aufgefordert werden. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, müssen Sie die Datei an einem sicheren Ort speichern, um den nicht autorisierten Zugriff zu verhindern.
[ @job_login= ] 'job_login'
Der Anmeldename für das Windows-Konto, unter dem der Agent ausgeführt wird. job_login ist ein Wert vom Datentyp nvarchar(257) und hat keinen Standardwert. Dieses Windows-Konto wird immer für Agent-Verbindungen mit dem Verteiler verwendet.[ @job_password= ] 'job_password'
Das Kennwort für das Windows-Konto, unter dem der Agent ausgeführt wird. job_password ist vom Datentyp sysname und hat keinen Standardwert. Der Wert von job_password muss unter 120 Unicode-Zeichen enthalten.Sicherheitshinweis Fordern Sie nach Möglichkeit die Benutzer zur Laufzeit auf, die Sicherheitsanmeldeinformationen einzugeben. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, müssen Sie die Datei an einem sicheren Ort speichern, um unberechtigten Zugriff zu vermeiden.
[ @db_master_key_password= ] 'db_master_key_password'
Das Kennwort eines benutzerdefinierten Hauptschlüssels einer Datenbank. db_master_key_password ist vom Datentyp nvarchar(524); der Standardwert ist NULL. Wird db_master_key_password nicht angegeben, wird ein vorhandener Datenbank-Hauptschlüssel gelöscht und neu erstellt.Sicherheitshinweis Fordern Sie nach Möglichkeit die Benutzer zur Laufzeit auf, die Sicherheitsanmeldeinformationen einzugeben. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, müssen Sie die Datei an einem sicheren Ort speichern, um unberechtigten Zugriff zu vermeiden.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
sp_attachsubscription wird bei der Snapshot-, Transaktions- und Mergereplikation verwendet.
Ein Abonnement kann nicht an die Veröffentlichung angefügt werden, wenn die Aufbewahrungsdauer der Veröffentlichung abgelaufen ist. Wenn ein Abonnement mit einer abgelaufenen Aufbewahrungsdauer angegeben wird, tritt ein Fehler auf, wenn das Abonnement angefügt wird oder wenn es erstmalig synchronisiert wird. Veröffentlichungen mit einer Aufbewahrungsdauer von 0 (laufen nie ab) werden ignoriert.
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin können sp_attachsubscription ausführen.