Methoden zum Verschieben einer Geodatabase in SQL Server
Es gibt mehrere Optionen zum Verschieben einer Geodatabase: Sie können eine neue Geodatabase erstellen und die Daten verschieben, oder Sie können die gesamte Datenbank verschieben. Microsoft SQL Server verfügt über mehrere Optionen zum Verschieben einer Datenbank.
Erstellen einer neuen Geodatabase mit anschließendem Verschieben der Daten
Sie können eine neue SQL Server-Datenbank erstellen, darin eine Geodatabase erstellen und dann die vorhandenen Daten in die neue Geodatabase verschieben. Dafür können Sie Kopieren und Einfügen, das Exportwerkzeug, den Assistenten "Daten extrahieren" oder XML-Workspace-Dokumente in ArcGIS verwenden.
Beachten Sie, dass der Benutzer, der beim Laden der Daten in die neue Geodatabase angemeldet ist, Besitzer der Daten wird. Wenn die Daten in der neuen Geodatabase den gleichen Besitzer haben sollen, muss jeder Benutzer seine Daten selbst verschieben.
Verschieben einer SQL Server-Datenbank
Zu den Optionen zum Verschieben einer SQL Server-Datenbank gehören Trennen und Anhängen, Sichern und Wiederherstellen oder die Verwendung des Assistenten zum Kopieren von Datenbanken.
Unabhängig davon, welche dieser Methoden Sie zum Verschieben einer SQL Server-Datenbank verwenden, Sie können die Datenbank nicht umbenennen. Beim Wiederherstellen einer Datenbank zum Beispiel haben Sie die Möglichkeit, sie unter einem anderen Namen wiederherzustellen. Unterlassen Sie dies bei einer Geodatabase, da Sie dann keine Verbindung mehr zu der Geodatabase herstellen können.
Alle Objektnamen in den Geodatabase-Systemtabellen sind mit dem Datenbanknamen vollständig qualifiziert. Zudem weist der Code bei vielen gespeicherten Prozeduren eine dreiteilige Namenssyntax im Format <Datenbank>.<Besitzer>.<Objekt> auf. Wenn sich der Datenbankname ändert, können Sie diese Prozeduren nicht mehr ausführen.
Anfügen und Trennen
Die einfachste Methode zum Verschieben einer in einer lokalen SQL Server-Datenbank gespeicherten Geodatabase besteht darin, die Datenbank vom Quellserver zu trennen und an den Zielserver anzuhängen. Bedenken Sie Folgendes:
- Wenn Sie die Datenbank trennen, darf kein Benutzer mit ihr verbunden sein.
- Beim Trennen wird die Datenbank ordnungsgemäß heruntergefahren.
- Das Trennen/Anhängen geht in einigen Fällen schneller als eine Sicherung und Wiederherstellung der Datenbank.
- Durch Trennen/Anhängen entstehen auf dem Quell- und dem Zielserver identische Datenbanken.
- Diese Methode empfiehlt sich beim Verschieben großer Datenmengen.
- Sie müssen mindestens über die Berechtigung "db_owner" in der Datenbank verfügen, um sie von der SQL Server-Instanz zu trennen.
- Um eine Datenbank an die SQL Server-Instanz anzuhängen, benötigen Sie die Berechtigung CREATE DATABASE.
- Für ArcSDE-Geodatabases für SQL Server, die über ArcGIS for Server auf Enterprise-Ebene lizenziert sind, können Sie alle Daten- und Protokolldateien im Befehl "CREATE DATABASE FOR ATTACH SQL" angeben.
Wiederherstellen der Sicherungskopie einer anderen Datenbank
Eine weitere Methode zum Verschieben einer lokalen SQL Server-Datenbank besteht darin, eine vollständige Sicherung der Datenbank durchzuführen und anschließend die Sicherungsdatei auf dem Zielserver wiederherzustellen. Bedenken Sie Folgendes:
- Sie können den logischen Dateinamen während des Wiederherstellungsvorgangs nicht ändern.
- Benutzer können während des Sicherungsverfahrens verbunden sein, nicht jedoch während der Wiederherstellung.
Einzelheiten zum Wiederherstellen von Sicherungskopien von SQL Server-Datenbanken finden Sie in der DBMS-Dokumentation zu SQL Server.
Assistent zum Kopieren von Datenbanken
Dies gilt nur für Geodatabases, die mit ArcGIS for Server mit einer Enterprise-Lizenz erstellt wurden.
In SQL Server Management Studio steht ein Assistent zum Kopieren von Datenbanken zur Verfügung, mit dem Sie Datenbanken verschieben können. Hinweise zur Verwendung des Assistenten zum Kopieren von Datenbanken:
- Sie können mehrere Datenbanken kopieren.
- Der Assistent zum Kopieren von Datenbanken kann nicht zum Erstellen einer Datenbankkopie auf derselben Instanz verwendet werden.
- Benutzeranmeldenamen können im Assistenten zum Kopieren von Datenbanken nicht ausgeschlossen werden. Sie werden mit neuen Serverbenutzer-IDs (SIDs) in die kopierte Datenbank übertragen.
- Damit der Assistent ausgeführt werden kann, müssen der Quell- und der Zielserver verbunden sein.