Vorgehensweise: Anzeigen und Ändern von Einstellungen für die Replikationssicherheit (Replikationsprogrammierung mit Transact-SQL)
Die Einstellungen für das Sicherheitskonto (Anmeldenamen und Kennwörter), die für die Replikation erforderlich sind, werden bei der Erstellung von Veröffentlichungen und Abonnements definiert. Diese Einstellungen können später mit gespeicherten Replikationsprozeduren geändert werden. Welche gespeicherten Prozeduren Sie verwenden, hängt vom Typ des Agents und vom Typ der Serververbindung ab.
Hinweis |
---|
Aus Sicherheitsgründen wird der eigentliche Wert der Kennwörter in Resultsets maskiert, die von den gespeicherten Replikationsprozeduren zurückgegeben werden. |
Sicherheitshinweis |
---|
In allen der folgenden Prozeduren sollte der Benutzer nach Möglichkeit aufgefordert werden, zur Laufzeit Sicherheitsanmeldeinformationen einzugeben. Wenn Sie Anmeldeinformationen in einer Skriptdatei speichern, müssen Sie die Datei schützen, um unberechtigtem Zugriff vorzubeugen. |
So ändern Sie alle Instanzen eines gespeicherten Kennworts auf einem Replikationsserver
Führen Sie auf einem Server in einer Replikationstopologie für die Masterdatenbank sp_changereplicationserverpasswords aus. Geben Sie das Microsoft Windows-Konto oder den MicrosoftSQL Server-Anmeldenamen, dessen Kennwort geändert wird, für @login sowie das neue Kennwort für das Konto oder den Anmeldenamen für @password an. Damit wird jede Instanz des Kennworts geändert, die von allen Agents auf dem Server beim Herstellen einer Verbindung mit anderen Servern in der Topologie verwendet wird.
Hinweis Wenn nur der Anmeldename und das Kennwort für eine Verbindung mit einem bestimmten Server in der Topologie geändert werden soll (z. B. der Verteiler oder der Abonnent), geben Sie den Namen dieses Servers für @server an.
Wiederholen Sie Schritt 1 für jeden Server in der Replikationstopologie, für den das Kennwort aktualisiert werden muss.
Hinweis Nachdem Sie ein Replikationskennwort geändert haben, müssen Sie jeden Agent, der dieses Kennwort verwendet, beenden und neu starten, damit die Änderung für diesen Agent in Kraft tritt.
So ändern Sie die Sicherheitseinstellungen für den Snapshot-Agent
Führen Sie sp_helppublication_snapshot auf dem Verleger unter Angabe von @publication aus. Damit werden die aktuellen Sicherheitseinstellungen für den Snapshot-Agent zurückgegeben.
Führen Sie auf dem Verleger sp_changepublication_snapshot unter Angabe von @publication und einer oder mehrerer der folgenden zu ändernden Sicherheitseinstellungen aus:
Geben Sie @job_login und @job_password an, um das Windows-Konto, unter dem der Agent ausgeführt wird, oder auch nur das Kennwort für dieses Konto zu ändern.
Zum Ändern des Sicherheitsmodus, der beim Herstellen einer Verbindung mit dem Verleger verwendet wird, geben Sie den Wert 1 oder 0 für @publisher_security_mode an.
Wenn Sie den beim Herstellen einer Verbindung mit dem Verleger verwendeten Sicherheitsmodus von 1 in 0 oder einen für diese Verbindung verwendeten SQL Server-Anmeldenamen ändern, geben Sie @publisher_login und @publisher_password an.
Sicherheitshinweis Beim Konfigurieren eines Verlegers mit einem Remoteverteiler werden die Werte, die für alle Parameter einschließlich job_login und job_password bereitgestellt werden, als Nur-Text an den Verteiler gesendet. Sie sollten die Verbindung zwischen dem Verleger und dem zugehörigen Remoteverteiler verschlüsseln, bevor Sie diese gespeicherte Prozedur ausführen. Weitere Informationen finden Sie unter Verschlüsseln von Verbindungen zu SQL Server.
So ändern Sie die Sicherheitseinstellungen für den Protokolllese-Agent
Führen Sie auf dem Verleger sp_helplogreader_agent aus, und geben Sie dabei @publisher an. Damit werden die aktuellen Sicherheitseinstellungen für den Protokolllese-Agent zurückgegeben.
Führen Sie auf dem Verleger sp_changelogreader_agent unter Angabe von @publication und einer oder mehrerer der folgenden zu ändernden Sicherheitseinstellungen aus:
Geben Sie @job_login und @job_password an, um das Windows-Konto, unter dem der Agent ausgeführt wird, oder auch nur das Kennwort für dieses Konto zu ändern.
Zum Ändern des Sicherheitsmodus, der beim Herstellen einer Verbindung mit dem Verleger verwendet wird, geben Sie den Wert 1 oder 0 für @publisher_security_mode an.
Wenn Sie den beim Herstellen einer Verbindung mit dem Verleger verwendeten Sicherheitsmodus von 1 in 0 oder einen für diese Verbindung verwendeten SQL Server-Anmeldenamen ändern, geben Sie @publisher_login und @publisher_password an.
Hinweis Nach dem Ändern des Anmeldenamens oder des Kennworts eines Agents müssen Sie den Agent beenden und neu starten, damit die Änderungen in Kraft treten.
Sicherheitshinweis Beim Konfigurieren eines Verlegers mit einem Remoteverteiler werden die Werte, die für alle Parameter einschließlich job_login und job_password bereitgestellt werden, als Nur-Text an den Verteiler gesendet. Sie sollten die Verbindung zwischen dem Verleger und dem zugehörigen Remoteverteiler verschlüsseln, bevor Sie diese gespeicherte Prozedur ausführen. Weitere Informationen finden Sie unter Verschlüsseln von Verbindungen zu SQL Server.
So ändern Sie die Sicherheitseinstellungen für den Verteilungs-Agent eines Pushabonnements
Führen Sie sp_helpsubscription auf dem Verleger für die Veröffentlichungsdatenbank unter Angabe von @publication und @subscriber aus. Damit werden die Abonnementeigenschaften zurückgegeben, einschließlich der Sicherheitseinstellungen für den Verteilungs-Agent, der auf dem Verteiler ausgeführt wird.
Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_changesubscription aus, und geben Sie dabei @publication, @subscriber, @subscriber_db, den Wert all für @article, den Namen der Sicherheitseigenschaft für @property und den neuen Wert der Eigenschaft für @value an
Wiederholen Sie Schritt 2 für jede der folgenden Sicherheitseigenschaften, die geändert wird:
Geben Sie den Wert distrib_job_password für @property und ein neues Kennwort für @value an, um das Windows-Konto, unter dem der Agent ausgeführt wird, oder auch nur das Kennwort für dieses Konto zu ändern. Wenn Sie das Konto ändern, wiederholen Sie Schritt 2, und geben Sie den Wert distrib_job_login für @property und das neue Windows-Konto für @value an.
Um den zum Herstellen der Verbindung mit dem Abonnenten verwendeten Sicherheitsmodus zu ändern, geben Sie den Wert subscriber_security_mode für @property und den Wert 1 (integrierte Windows-Authentifizierung) oder 0 (SQL Server-Authentifizierung) für @value an.
Wenn Sie den Sicherheitsmodus für den Abonnenten in die SQL Server-Authentifizierung oder die Anmeldeinformationen für die SQL Server-Authentifizierung ändern, geben Sie den Wert subscriber_password für @property und das neue Kennwort für @value an. Wiederholen Sie Schritt 2, und geben Sie dabei den Wert subscriber_login für @property und den neuen Anmeldenamen für @value an.
Hinweis Nach dem Ändern des Anmeldenamens oder des Kennworts eines Agents müssen Sie den Agent beenden und neu starten, damit die Änderungen in Kraft treten.
Sicherheitshinweis Beim Konfigurieren eines Verlegers mit einem Remoteverteiler werden die Werte, die für alle Eigenschaften einschließlich distrib_job_login und distrib_job_password bereitgestellt werden, als Nur-Text an den Verteiler gesendet. Sie sollten die Verbindung zwischen dem Verleger und dem zugehörigen Remoteverteiler verschlüsseln, bevor Sie diese gespeicherte Prozedur ausführen. Weitere Informationen finden Sie unter Verschlüsseln von Verbindungen zu SQL Server.
So ändern Sie die Sicherheitseinstellungen für den Verteilungs-Agent eines Pullabonnements
Führen Sie auf dem Abonnenten sp_helppullsubscription aus, und geben Sie dabei @publication an. Damit werden die Abonnementeigenschaften zurückgegeben, einschließlich der Sicherheitseinstellungen für den Verteilungs-Agent, der auf dem Abonnenten ausgeführt wird.
Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_change_subscription_properties aus, und geben Sie dabei @publisher, @publisher_db, @publication, den Namen der Sicherheitseigenschaft für @property sowie den neuen Namen der Eigenschaft für @value an.
Wiederholen Sie Schritt 2 für jede der folgenden Sicherheitseigenschaften, die geändert wird:
Geben Sie den Wert distrib_job_password für @property und ein neues Kennwort für @value an, um das Windows-Konto, unter dem der Agent ausgeführt wird, oder auch nur das Kennwort für dieses Konto zu ändern. Wenn Sie das Konto ändern, wiederholen Sie Schritt 2, und geben Sie den Wert distrib_job_login für @property und das neue Windows-Konto für @value an.
Um den zum Herstellen der Verbindung mit dem Verteiler verwendeten Sicherheitsmodus zu ändern, geben Sie den Wert distributor_security_mode für @property und den Wert 1 (integrierte Windows-Authentifizierung) oder 0 (SQL Server-Authentifizierung) für @value an.
Wenn Sie den Sicherheitsmodus für den Verteiler in die SQL Server-Authentifizierung oder die Anmeldeinformationen für die SQL Server-Authentifizierung ändern, geben Sie den Wert distributor_password für @property und das neue Kennwort für @value an. Wiederholen Sie Schritt 2, und geben Sie dabei den Wert distributor_login für @property und den neuen Anmeldenamen für @value an.
Hinweis Nach dem Ändern des Anmeldenamens oder des Kennworts eines Agents müssen Sie den Agent beenden und neu starten, damit die Änderungen in Kraft treten.
So ändern Sie die Sicherheitseinstellungen für den Merge-Agent eines Pushabonnements
Führen Sie sp_helpmergesubscription auf dem Verleger für die Veröffentlichungsdatenbank unter Angabe von @publication, @subscriber und @subscriber_db aus. Damit werden die Abonnementeigenschaften zurückgegeben, einschließlich der Sicherheitseinstellungen für den Merge-Agent, der auf dem Verteiler ausgeführt wird.
Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_changemergesubscription aus, und geben Sie dabei @publication, @subscriber, @subscriber_db, den Namen der Sicherheitseigenschaft für @property sowie den neuen Namen der Eigenschaft für @value an.
Wiederholen Sie Schritt 2 für jede der folgenden Sicherheitseigenschaften, die geändert wird:
Geben Sie den Wert merge_job_password für @property und ein neues Kennwort für @value an, um das Windows-Konto, unter dem der Agent ausgeführt wird, oder auch nur das Kennwort für dieses Konto zu ändern. Wenn Sie das Konto ändern, wiederholen Sie Schritt 2, und geben Sie den Wert merge_job_login für @property und das neue Windows-Konto für @value an.
Um den zum Herstellen der Verbindung mit dem Abonnenten verwendeten Sicherheitsmodus zu ändern, geben Sie den Wert subscriber_security_mode für @property und den Wert 1 (integrierte Windows-Authentifizierung) oder 0 (SQL Server-Authentifizierung) für @value an.
Wenn Sie den Sicherheitsmodus für den Abonnenten in die SQL Server-Authentifizierung oder die Anmeldeinformationen für die SQL Server-Authentifizierung ändern, geben Sie den Wert subscriber_password für @property und das neue Kennwort für @value an. Wiederholen Sie Schritt 2, und geben Sie dabei den Wert subscriber_login für @property und den neuen Anmeldenamen für @value an.
Um den zum Herstellen der Verbindung mit dem Verleger verwendeten Sicherheitsmodus zu ändern, geben Sie den Wert publisher_security_mode für @property und den Wert 1 (integrierte Windows-Authentifizierung) oder 0 (SQL Server-Authentifizierung) für @value an.
Wenn Sie den Sicherheitsmodus für den Verleger in die SQL Server-Authentifizierung oder die Anmeldeinformationen für die SQL Server-Authentifizierung ändern, geben Sie den Wert publisher_password für @property und das neue Kennwort für @value an. Wiederholen Sie Schritt 2, und geben Sie dabei den Wert publisher_login für @property und den neuen Anmeldenamen für @value an.
Hinweis Nach dem Ändern des Anmeldenamens oder des Kennworts eines Agents müssen Sie den Agent beenden und neu starten, damit die Änderungen in Kraft treten.
Sicherheitshinweis Beim Konfigurieren eines Verlegers mit einem Remoteverteiler werden die Werte, die für alle Eigenschaften einschließlich merge_job_login und merge_job_password bereitgestellt werden, als Nur-Text an den Verteiler gesendet. Sie sollten die Verbindung zwischen dem Verleger und dem zugehörigen Remoteverteiler verschlüsseln, bevor Sie diese gespeicherte Prozedur ausführen. Weitere Informationen finden Sie unter Verschlüsseln von Verbindungen zu SQL Server.
So ändern Sie die Sicherheitseinstellungen für den Merge-Agent eines Pullabonnements
Führen Sie auf dem Abonnenten sp_helpmergepullsubscription aus, und geben Sie dabei @publication an. Damit werden die Abonnementeigenschaften zurückgegeben, einschließlich der Sicherheitseinstellungen für den Merge-Agent, der auf dem Abonnenten ausgeführt wird.
Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_change_subscription_properties aus, und geben Sie dabei @publisher, @publisher_db, @publication, den Namen der Sicherheitseigenschaft für @property sowie den neuen Namen der Eigenschaft für @value an.
Wiederholen Sie Schritt 2 für jede der folgenden Sicherheitseigenschaften, die geändert wird:
Geben Sie den Wert merge_job_password für @property und ein neues Kennwort für @value an, um das Windows-Konto, unter dem der Agent ausgeführt wird, oder auch nur das Kennwort für dieses Konto zu ändern. Wenn Sie das Konto ändern, wiederholen Sie Schritt 2, und geben Sie den Wert merge_job_login für @property und das neue Windows-Konto für @value an.
Um den zum Herstellen der Verbindung mit dem Verteiler verwendeten Sicherheitsmodus zu ändern, geben Sie den Wert distributor_security_mode für @property und den Wert 1 (integrierte Windows-Authentifizierung) oder 0 (SQL Server-Authentifizierung) für @value an.
Wenn Sie den Sicherheitsmodus für den Verteiler in die SQL Server-Authentifizierung oder die Anmeldeinformationen für die SQL Server-Authentifizierung ändern, geben Sie den Wert distributor_password für @property und das neue Kennwort für @value an. Wiederholen Sie Schritt 2, und geben Sie dabei den Wert distributor_login für @property und den neuen Anmeldenamen für @value an.
Um den zum Herstellen der Verbindung mit dem Verleger verwendeten Sicherheitsmodus zu ändern, geben Sie den Wert publisher_security_mode für @property und den Wert 1 (integrierte Windows-Authentifizierung) oder 0 (SQL Server-Authentifizierung) für @value an.
Wenn Sie den Sicherheitsmodus für den Verleger in die SQL Server-Authentifizierung oder die Anmeldeinformationen für die SQL Server-Authentifizierung ändern, geben Sie den Wert publisher_password für @property und das neue Kennwort für @value an. Wiederholen Sie Schritt 2, und geben Sie dabei den Wert publisher_login für @property und den neuen Anmeldenamen für @value an.
Hinweis Nach dem Ändern des Anmeldenamens oder des Kennworts eines Agents müssen Sie den Agent beenden und neu starten, damit die Änderungen in Kraft treten.
So ändern Sie die Sicherheitseinstellungen für den Snapshot-Agent zum Generieren eines gefilterten Snapshots für einen Abonnenten
Führen Sie sp_helpdynamicsnapshot_job auf dem Verleger unter Angabe von @publication aus. Notieren Sie den Wert job_name im Resultset für die zu ändernde Partition des Abonnenten.
Führen Sie auf dem Verleger sp_changedynamicsnapshot_job aus, und geben Sie dabei @publication, den in Schritt 1 abgerufenen Wert für @dynamic_snapshot_jobname und ein neues Kennwort für @job_password oder den Anmeldenamen und das Kennwort für das Windows-Konto, unter dem der Agent ausgeführt wird, für @job_login und @job_password an.
Sicherheitshinweis Beim Konfigurieren eines Verlegers mit einem Remoteverteiler werden die Werte, die für alle Parameter einschließlich job_login und job_password bereitgestellt werden, als Nur-Text an den Verteiler gesendet. Sie sollten die Verbindung zwischen dem Verleger und dem zugehörigen Remoteverteiler verschlüsseln, bevor Sie diese gespeicherte Prozedur ausführen. Weitere Informationen finden Sie unter Verschlüsseln von Verbindungen zu SQL Server.
So ändern Sie die Sicherheitseinstellungen für den Warteschlangenlese-Agent
Führen Sie auf dem Verteiler sp_helpqreader_agent aus. Damit wird das aktuelle Windows-Konto zurückgegeben, unter dem der Warteschlangenlese-Agent ausgeführt wird.
- Führen Sie auf dem Verteiler sp_changeqreader_agent aus, und geben Sie dabei die Einstellungen des Windows-Kontos für @job_login und @job_password an.
Hinweis Nach dem Ändern des Anmeldenamens oder des Kennworts eines Agents müssen Sie den Agent beenden und neu starten, damit die Änderungen in Kraft treten. Es gibt einen Warteschlangenlese-Agent für jede Verteilungsdatenbank. Wenn Sie die Sicherheitseinstellungen eines Agents ändern, wirkt sich dies auf alle Veröffentlichungen auf allen Verlegern aus, die diese Verteilungsdatenbank verwenden.
Der Warteschlangenlese-Agent verwendet zum Herstellen von Verbindungen mit dem Abonnenten denselben Verbindungskontext wie der Verteilungs-Agent für das Abonnement.
So ändern Sie den Sicherheitsmodus, der von einem sofort aktualisierbaren Abonnenten beim Herstellen einer Verbindung mit dem Verleger verwendet wird
Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_link_publication aus. Geben Sie @publisher, @publication, den Namen der Veröffentlichungsdatenbank für @publisher_db und einen der folgenden Werte für @security_mode an:
0 zum Verwenden der SQL Server-Authentifizierung, wenn Aktualisierungen beim Verleger vorgenommen werden. Diese Option erfordert auf dem Verleger die Angabe gültiger Anmeldeinformationen für @login und @password.
1, um den Sicherheitskontext des Benutzers zu verwenden, der Änderungen am Abonnenten vornimmt, wenn eine Verbindung mit dem Verleger hergestellt wird. Nähere Informationen zu den in Verbindung mit diesem Sicherheitsmodus geltenden Beschränkungen finden Sie unter sp_link_publication.
2, um einen vorhandenen benutzerdefinierten Anmeldenamen für den Verbindungsserver zu verwenden, der mit sp_addlinkedserver (Transact-SQL) erstellt wurde.
So ändern Sie das Kennwort für einen Remoteverteiler
Führen Sie auf dem Verteiler für die Verteilungsdatenbank sp_changedistributor_password aus, und geben Sie dabei das neue Kennwort dieses Anmeldenamens für @password an.
Wichtig Ändern Sie das Kennwort für distributor_admin nicht direkt.
Führen Sie auf jedem Verteiler, der diesen Remoteverteiler verwendet, sp_changedistributor_password aus, und geben Sie dabei das Kennwort aus Schritt 1 für @password an.
Siehe auch