Wenn Sie den Inhalt einer Geodatabase in eine andere Datenbank in derselben Microsoft SQL Server-Instanz verschieben möchten, können Sie eine zweite Geodatabase erstellen und die Daten verschieben. Wenn Sie die Geodatabase in eine neue SQL Server-Instanz verschieben möchten, können Sie die gesamte Datenbank mithilfe einer von mehreren durch SQL Server verfügbaren Optionen verschieben.
Verschieben von Daten in eine andere Geodatabase auf derselben SQL Server-Instanz
Datenbank- und Geodatabase-Namen müssen in derselben SQL-Instanz eindeutig sein. Falls Sie Ihre Daten in eine andere Geodatabase auf derselben Instanz verschieben möchten, erstellen Sie eine zweite Geodatabase in der Instanz, und verschieben Sie die vorhandenen Daten in die neue Geodatabase. Sie können die Daten in ArcGIS durch Kopieren und Einfügen, mit dem Werkzeug "Exportieren", mit dem Assistenten "Daten extrahieren" oder mit XML-Workspace-Dokumenten verschieben.
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 Datenbank in eine neue SQL Server-Instanz
Wenn Sie eine Geodatabase in eine neue SQL Server-Instanz verschieben möchten, können Sie die gesamte Datenbank mit SQL Server-Werkzeugen verschieben. Zu den Optionen zum Verschieben einer SQL Server-Datenbank zählen das Trennen der Datenbankdatei von der SQL Server-Instanz und Anhängen an eine neue Instanz, Erstellen einer Sicherungskopie der Datenbank und Wiederherstellen auf einer neuen SQL Server-Instanz oder Verwenden 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.
- Bei Enterprise-Geodatabases für SQL Server 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.
Weitere Informationen zum Wiederherstellen von Sicherungskopien von SQL Server-Datenbanken finden Sie in der SQL Server-Dokumentation.
Assistent zum Kopieren von Datenbanken
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.