Freigeben über


Vorgehensweise: Erstellen eines Abonnements für einen Nicht-SQL Server-Abonnenten (Replikationsprogrammierung mit Transact-SQL)

Von der Transaktionsreplikation und der Snapshotreplikation wird das Veröffentlichen von Daten auf Nicht-SQL Server-Abonnenten unterstützt. Sie können Pushabonnements auf Nicht-SQL Server-Abonnenten mithilfe von gespeicherten Replikationsprozeduren programmgesteuert erstellen. Informationen zu den unterstützten Abonnentenplattformen finden Sie unter Nicht-SQL Server-Abonnenten.

SicherheitshinweisSicherheitshinweis

Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit einzugeben. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, muss die Datei geschützt werden, um unberechtigte Zugriffe zu verhindern.

So erstellen Sie ein Pushabonnement für eine Transaktions- oder Snapshotveröffentlichung für einen Nicht-SQL Server-Abonnenten

  1. Installieren Sie den neuesten OLE DB-Anbieter für den Nicht-SQL Server-Abonnenten sowohl auf dem Verleger als auch auf dem Verteiler. Informationen zu den Replikationsanforderungen für einen OLE DB-Anbieter finden Sie unter Nicht-SQL Server-Abonnenten, Oracle-Abonnenten, IBM DB2-Abonnenten.

  2. Überprüfen Sie beim Verleger auf der Veröffentlichungsdatenbank, ob die Veröffentlichung Nicht-SQL Server-Abonnenten unterstützt, indem Sie sp_helppublication (Transact-SQL) ausführen.

    • Der Wert 1 für enabled_for_het_sub bedeutet, dass Nicht-SQL Server-Abonnenten unterstützt werden.

    • Ist der Wert für enabled_for_het_sub 0, führen Sie sp_changepublication (Transact-SQL) aus, und geben Sie enabled_for_het_sub für @property und true für @value an.

      HinweisHinweis

      Bevor Sie enabled_for_het_sub zu true ändern, müssen Sie alle vorhandenen Abonnements für die Veröffentlichung löschen. Sie können enabled_for_het_sub nicht auf true festlegen, wenn die Veröffentlichung auch Abonnements mit Aktualisierung unterstützt. Die Änderung von enabled_for_het_sub beeinflusst andere Veröffentlichungseigenschaften. Weitere Informationen finden Sie unter Nicht-SQL Server-Abonnenten.

  3. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addsubscription (Transact-SQL) aus. Geben Sie @publication, @subscriber, den Wert (default destination) für @destination_db, den Wert push für @subscription_type und den Wert 3 für @subscriber_type (den OLE DB-Anbieter) an.

  4. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addpushsubscription_agent (Transact-SQL) aus. Geben Sie Folgendes an:

    • Die Parameter @subscriber und @publication.

    • Den Wert (default destination) für @subscriber_db.

    • Die Eigenschaften der Nicht-SQL Server-Datenquelle für @subscriber_provider, @subscriber_datasrc, @subscriber_location, @subscriber_provider_string und @subscriber_catalog.

    • Die Microsoft Windows-Anmeldeinformationen, unter denen der Verteilungs-Agent auf dem Verteiler für @job_login und @job_password ausgeführt wird.

      HinweisHinweis

      Für Verbindungen, die mit der integrierten Windows-Authentifizierung hergestellt werden, werden immer die mit @job_login und @job_password angegebenen Windows-Anmeldeinformationen verwendet. Der Verteilungs-Agent stellt die lokale Verbindung mit dem Verteiler immer mithilfe der Windows-Authentifizierung her. Standardmäßig stellt der Agent mithilfe der integrierten Windows-Authentifizierung eine Verbindung mit dem Abonnenten her.

    • Den Wert 0 für @subscriber_security_mode und die Anmeldeinformationen des OLE DB-Anbieters für @subscriber_login und @subscriber_password.

    • Einen Zeitplan für den Verteilungs-Agentauftrag für dieses Abonnement. Weitere Informationen finden Sie unter Vorgehensweise: Synchronisierungszeitpläne (Replikationsprogrammierung mit Transact-SQL).

    SicherheitshinweisSicherheitshinweis

     Beim Erstellen eines Pushabonnements auf einem Verleger mit einem Remoteverteiler werden die angegebenen Werte für alle Parameter, einschließlich job_login und job_password, an den Verteiler als Nur-Text 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.