Erstellen Sie eine Datenbank für einen entfernten Benutzer, indem Sie die entfernte Datenbank aus der konsolidierten Datenbank (hq) extrahieren.
Voraussetzungen
Sie müssen die SYS_REPLICATION_ADMIN_ROLE-Systemrolle haben.
Kontext und Bemerkungen
Die entfernte Datenbank muss so konfiguriert werden, dass sie Nachrichten senden und empfangen und an einem SQL Remote-System teilnehmen kann. Wie die konsolidierte Datenbank (hq) benötigt auch die entfernte Datenbank einen aktuellen Publikationseigentümer (CURRENT PUBLISHER), um die Quelle der ausgehenden Nachrichten festzulegen. Außerdem muss die konsolidierte Datenbank (hq) als Subskribent gekennzeichnet sein.
Führen Sie das Dienstprogramm dbxtract aus, um eine entfernte Datenbank zu erstellen, die Folgendes enthält:
Eine Subskription für die konsolidierte Datenbank
Eine Publikation
Eine aktuelle Kopie der Daten
Extrahieren Sie das Schema der entfernten Datenbank aus der konsolidierten Datenbank (hq) für den Benutzer field_user, indem Sie den folgenden Befehl im Verzeichnis c:\tutorial ausführen:
dbxtract -v -c "UID=DBA;PWD=sql;SERVER=server_hq;DBF=C:\tutorial\hq.db" c:\tutorial field_user |
Dieser Befehl:
Erstellt eine SQL-Skriptdatei namens reload.sql im aktuellen Verzeichnis. Die reload.sql Datei enthält das Schema sowie die notwendigen Anweisungen, um dieses in eine neue Datenbank zu laden.
Erstellt eine Datendatei im Verzeichnis c:\tutorial.
Startet die Subskriptionen für den entfernten Benutzer.
Führen Sie im Verzeichnis c:\tutorial den folgenden Befehl aus, um die entfernte Datenbank (field) zu erstellen:
dbinit -dba DBA,sql field.db |
Speichern Sie in einer Produktionsumgebung nicht zwei replizierende Datenbanken in demselben Verzeichnis.
Laden Sie die Datenbankinformationen in die entfernte Datenbank (field).
Stellen Sie aus Interactive SQL eine Verbindung mit der entfernten Datenbank (field) als Benutzer mit der SYS_REPLICATION_ADMIN_ROLE-Systemrolle her:
dbisql -c "UID=DBA;PWD=sql;SERVER=server_field;DBF=c:\tutorial\field.db" |
Führen Sie die folgende Anweisung aus, um die Datei reload.sql zu lesen:
READ C:\tutorial\reload.sql; |
Die Skriptdatei reload.sql:
Erstellt einen Nachrichtentyp in der entfernten Datenbank (field).
Erteilt das PUBLISH-Privileg für die entfernte Datenbank (field).
Erstellt die Tabellen SalesReps und Customers in der entfernten Datenbank (field). Diese Tabellen enthalten dieselben Daten wie in der konsolidierten Datenbank (hq).
Erstellt eine Publikation, um die Daten zu identifizieren, die repliziert werden.
Erstellt die Subskription für die konsolidierte Datenbank (hq) und startet die Subskription.
Führen Sie die folgenden Anweisungen aus, um sicherzustellen, dass die Tabellen erstellt wurden:
SELECT * FROM SalesReps; |
Die oben stehende Abfrage gibt die folgenden Daten aus der SalesReps-Tabelle zurück:
rep_key | name |
---|---|
rep1 | Field User |
rep2 | Another User |
SELECT * FROM Customers; |
Die oben stehende Abfrage gibt die folgenden Daten aus der Customers-Tabelle zurück:
cust_key | name | rep_key |
---|---|---|
cust1 | Ocean Sports | rep1 |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |