Vorgehensweise: Erstellen eines Abonnements für einen Nicht-SQL Server-Abonnenten (SQL Server Management Studio)

Von der Transaktionsreplikation und der Momentaufnahmereplikation wird das Veröffentlichen von Daten auf Nicht-Microsoft SQL Server-Abonnenten unterstützt. So erstellen Sie ein Abonnement für einen Nicht-SQL Server-Abonnenten

  1. Nehmen Sie die Installation und Konfiguration der entsprechenden Clientsoftware und OLE DB-Anbieter auf dem SQL Server-Verteiler vor. Weitere Informationen finden Sie unter Oracle-Abonnenten und IBM DB2-Abonnenten.

  2. Erstellen Sie mithilfe des Assistenten für neue Veröffentlichung eine Veröffentlichung. Weitere Informationen zum Erstellen von Veröffentlichungen finden Sie unter Vorgehensweise: Erstellen einer Veröffentlichung und Definieren von Artikeln (SQL Server Management Studio) und Vorgehensweise: Erstellen einer Veröffentlichung aus einer Oracle-Datenbank (SQL Server Management Studio). Geben Sie im Assistenten für neue Veröffentlichung folgende Optionen an:

    • Wählen Sie auf der Seite Veröffentlichungstyp entweder Momentaufnahmeveröffentlichung oder Transaktionsveröffentlichung aus.

    • Heben Sie auf der Seite Momentaufnahme-Agent die Auswahl von Momentaufnahme sofort erstellen auf.

      Die Erstellung der Momentaufnahme erfolgt nach der Aktivierung der Veröffentlichung für Nicht-SQL Server-Abonnenten, um sicherzustellen, dass der Momentaufnahme-Agent eine Momentaufnahme und Initialisierungsskripts generiert, die für Nicht-SQL Server-Abonnenten geeignet sind.

  3. Verwenden Sie zur Aktivierung der Veröffentlichung für Nicht-SQL Server-Abonnenten das Dialogfeld Veröffentlichungseigenschaften - <PublicationName>. In diesem Thema sind weitere Informationen zu diesem Schritt enthalten. Weitere Informationen zum Dialogfeld Veröffentlichungseigenschaften finden Sie unter Veröffentlichungseigenschaften - <Veröffentlichung>.

  4. Erstellen Sie mithilfe des Assistenten für neue Abonnements ein Abonnement. In diesem Thema sind weitere Informationen zu diesem Schritt enthalten.

  5. (Optional) Ändern Sie die pre_creation_cmd-Artikeleigenschaft, um Tabellen auf dem Abonnenten beizubehalten. In diesem Thema sind weitere Informationen zu diesem Schritt enthalten.

  6. Generieren Sie eine Momentaufnahme für die Veröffentlichung. In diesem Thema sind weitere Informationen zu diesem Schritt enthalten.

  7. Synchronisieren Sie das Abonnement. Weitere Informationen finden Sie unter Vorgehensweise: Synchronisieren eines Pushabonnements (SQL Server Management Studio).

HinweisHinweis

Dieser Prozess gilt für Verleger, auf denen Microsoft SQL Server 2005 oder höher ausgeführt wird.

So aktivieren Sie eine Veröffentlichung für Nicht-SQL Server-Abonnenten

  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit dem Verleger her, und erweitern Sie dann den Serverknoten.

  2. Erweitern Sie den Ordner Replikation, und erweitern Sie dann den Ordner Lokale Veröffentlichungen.

  3. Klicken Sie mit der rechten Maustaste auf die Veröffentlichung, und klicken Sie dann auf Eigenschaften.

  4. Wählen Sie auf der Seite Abonnementoptionen den Wert Wahr für die Option Nicht-SQL Server-Abonnenten zulassen aus. Beim Auswählen dieser Option werden eine Reihe von Eigenschaften so geändert, dass die Veröffentlichung mit Nicht-SQL Server-Abonnenten kompatibel ist.

    HinweisHinweis

    Durch die Auswahl von Wahr wird der Wert der Artikeleigenschaft pre_creation_cmd auf 'drop' festgelegt. Mit dieser Einstellung wird angegeben, dass bei der Replikation auf dem Abonnenten eine Tabelle gelöscht werden soll, wenn sie mit dem Namen der Tabelle in dem Artikel übereinstimmt. Wenn auf dem Abonnenten Tabellen vorhanden sind, die Sie aufheben möchten, verwenden Sie für jeden Artikel die gespeicherte Prozedur sp_changearticle. Geben Sie für pre_creation_cmd: sp_changearticle @publication= 'MyPublication', @article= 'MyArticle', @property='pre_creation_cmd', @value='none' den Wert 'none' an.

  5. Klicken Sie auf OK. Sie werden zur Erstellung einer neuen Momentaufnahme für die Veröffentlichung aufgefordert. Wenn Sie diesen Vorgang lieber zu einem späteren Vorgang ausführen möchten, verwenden Sie hierzu die nachfolgend aufgeführten schrittweisen Anweisungen.

So erstellen Sie ein Abonnement für einen Nicht-SQL Server-Abonnenten

  1. Erweitern Sie den Ordner Replikation, und erweitern Sie dann den Ordner Lokale Veröffentlichungen.

  2. Klicken Sie mit der rechten Maustaste auf die entsprechende Veröffentlichung, und klicken Sie dann auf Neue Abonnements.

  3. Vergewissern Sie sich, dass auf der Seite Speicherort des Verteilungs-Agents die Option Alle Agents auf dem Verteiler ausführen aktiviert ist. Von Nicht-SQL Server-Abonnenten wird das Ausführen von Agents auf dem Abonnenten nicht unterstützt.

  4. Klicken Sie auf der Seite Abonnenten zunächst auf Abonnent hinzufügen und dann auf Nicht-SQL Server-Abonnenten hinzufügen.

  5. Wählen Sie im Dialogfeld Nicht-SQL Server-Abonnenten hinzufügen den Abonnententyp aus.

  6. Geben Sie im Feld Datenquellenname einen Wert ein:

    • Bei Oracle ist dies der von Ihnen konfigurierte Transparent Network Substrate-(TNS-)Name.

    • Bei IBM kann dies ein beliebiger Name sein. Im Normalfall wird die Netzwerkadresse des Abonnenten angegeben.

    Der in diesem Schritt eingegebene Datenquellenname und die in Schritt 9 angegebenen Anmeldeinformationen werden von diesem Assistenten nicht überprüft. Sie werden von der Replikation nicht verwendet, bis der Verteilungs-Agent für das Abonnement ausgeführt wird. Vergewissern Sie sich, dass sämtliche Werte getestet wurden, und zwar durch die Verbindungsherstellung mit dem Abonnenten über ein Clienttool (für Oracle z. B. sqlplus). Weitere Informationen finden Sie unter Oracle-Abonnenten und IBM DB2-Abonnenten.

  7. Klicken Sie auf OK. Nun wird auf der Seite Abonnenten des Assistenten der Abonnent in der Abonnent-Spalte angezeigt; hierbei ist ein schreibgeschütztes (Standardziel) in der Abonnementdatenbank-Spalte enthalten:

    • Bei Oracle besitzt ein Server höchstens eine Datenbank, deshalb ist die Angabe der Datenbank nicht erforderlich.

    • Bei IBM DB2 wird die Datenbank in der Initial Catalog-Eigenschaft der DB2-Verbindungszeichenfolge angegeben, die in dem nachfolgend erwähnten Feld Zusätzliche Verbindungsoptionen eingegeben werden kann.

  8. Klicken Sie auf der Seite Sicherheit für den Verteilungs-Agent neben dem Abonnenten auf die Schaltfläche für die Eigenschaften (), um auf das Dialogfeld Sicherheit für den Verteilungs-Agent zuzugreifen.

  9. Führen Sie im Dialogfeld Sicherheit für den Verteilungs-Agent folgende Schritte aus:

    • Geben Sie in den Feldern Prozesskonto, Kennwort und Kennwort bestätigen das Konto und Kennwort von Microsoft Windows an, unter dem der Verteilungs-Agent ausgeführt werden soll und unter dem er lokale Verbindungen mit dem Verteiler herstellen soll.

      Für das Konto müssen folgende Mindestberechtigungen erfüllt werden: Mitglied der festen Datenbankrolle db_owner in der Verteilungsdatenbank, Mitglied der Veröffentlichungszugriffsliste (PAL, Publication Access List); Leseberechtigungen für die Momentaufnahmefreigabe sowie Leseberechtigungen für das Installationsverzeichnis des OLE DB-Anbieters. Weitere Informationen zur PAL finden Sie unter Sichern des Verlegers.

    • Geben Sie unter Verbindung mit dem Abonnenten herstellen, in den Feldern Anmeldung, Kennwort und Kennwort bestätigen die Anmeldung und das Kennwort ein, die zum Verbindungsaufbau mit dem Abonnenten verwendet werden sollen. Diese Anmeldung sollte bereits konfiguriert sein und für das Erstellen von Objekten in der Abonnementdatenbank ausreichende Berechtigungen aufweisen.

    • Geben Sie im Feld Zusätzliche Verbindungsoptionen sämtliche Verbindungsoptionen für den Abonnenten in Form einer Verbindungszeichenfolge an (für Oracle sind keine zusätzlichen Optionen erforderlich). Die einzelnen Optionen sollten durch ein Semikolon voneinander abgetrennt werden. Hier ein Beispiel einer DB2-Verbindungszeichenfolge (die Umbrüche dienen der Leserlichkeit):

      Provider=DB2OLEDB;Initial Catalog=MY_SUBSCRIBER_DB;Network Transport Library=TCP;Host CCSID=1252;
      PC Code Page=1252;Network Address=MY_SUBSCRIBER;Network Port=50000;Package Collection=MY_PKGCOL;
      Default Schema=MY_SCHEMA;Process Binary as Character=False;Units of Work=RUW;DBMS Platform=DB2/NT;
      Persist Security Info=False;Connection Pooling=True;
      

      Die meisten Optionen in der Zeichenfolge beziehen sich speziell auf den DB2-Server, den Sie konfigurieren, die Option Process Binary as Character sollte jedoch immer auf False festgelegt sein. Zur Identifizierung der Abonnementdatenbank muss für die Option Initial Catalog ein Wert angegeben werden.

  10. Wählen Sie auf der Seite Synchronisierungszeitplan im Menü Agentzeitplan einen Zeitplan für den Verteilungs-Agent aus (der Zeitplan weist normalerweise das Attribut Fortlaufend ausführen auf).

  11. Geben Sie auf der Seite Abonnements initialisieren an, ob das Abonnement initialisiert werden soll, und wenn ja, wann:

    • Heben Sie die Auswahl von Initialisieren nur dann auf, wenn Sie alle Objekte erstellt und alle erforderlichen Daten in der Abonnementdatenbank hinzugefügt haben.

    • Wenn Sie in der Initialisierungszeitpunkt-Spalte auf die Option Sofort klicken, überträgt der Verteilungs-Agent Momentaufnahmedateien an den Abonnenten, nachdem alle Vorgänge des Assistenten beendet sind. Mit Bei der ersten Synchronisierung überträgt der Agent die Dateien bei seiner nächsten planmäßigen Ausführung.

  12. Erstellen Sie optional auf der Seite Aktionen des Assistenten ein Skript für das Abonnement. Weitere Informationen finden Sie unter Erstellen von Skripts für die Replikation.

So behalten Sie Tabellen auf dem Abonnenten bei

  • Standardmäßig wird durch das Aktivieren einer Veröffentlichung für Nicht-SQL Server-Abonnenten der Wert der pre_creation_cmd-Artikeleigenschaft auf 'drop' festgelegt. Mit dieser Einstellung wird angegeben, dass bei der Replikation auf dem Abonnenten eine Tabelle gelöscht werden soll, wenn sie mit dem Namen der Tabelle in dem Artikel übereinstimmt. Wenn auf dem Abonnenten Tabellen vorhanden sind, die Sie beibehalten möchten, verwenden Sie für jeden Artikel die gespeicherte Prozedur sp_changearticle. Geben Sie für pre_creation_cmd den Wert 'none' an. sp_changearticle @publication= 'MyPublication', @article= 'MyArticle', @property='pre_creation_cmd', @value='none'.

So generieren Sie eine Momentaufnahme für die Veröffentlichung

  1. Erweitern Sie den Ordner Replikation, und erweitern Sie dann den Ordner Lokale Veröffentlichungen.

  2. Klicken Sie mit der rechten Maustaste auf die Veröffentlichung, und klicken Sie dann auf Status des Momentaufnahme-Agents anzeigen.

  3. Klicken Sie im Dialogfeld Status des Momentaufnahme-Agents anzeigen - <Publication> auf Start.

Nachdem der Momentaufnahme-Agent die Momentaufnahme generiert hat, wird eine Meldung angezeigt, die beispielsweise wie folgt lautet: "[100%] Es wurde eine Momentaufnahme mit 17 Artikel(n) generiert."