Pour déplacer le contenu d'une géodatabase vers une autre base de données sur la même instance Microsoft SQL Server, vous pouvez créer une deuxième géodatabase et transférer les données. Pour déplacer la géodatabase vers une nouvelle instance SQL Server, vous pouvez déplacer la base de données entière à l'aide de plusieurs options disponibles dans SQL Server.
Déplacer des données vers une autre géodatabase sur la même instance SQL Server
Les noms de la base de données et de la géodatabase doivent être uniques sur la même instance SQL Server. Ainsi, pour déplacer vos données vers une autre géodatabase sur la même instance, créez une deuxième base de données sur l'instance et transférez vos données vers la nouvelle géodatabase. Vous pouvez déplacer les données dans ArcGIS en les copiant et en les collant, en utilisant l'outil Exporterou l'assistant d'exportation des données ou en utilisant des documents d'espace de travail XML.
L'utilisateur qui s'est connecté lors du chargement des données vers la nouvelle géodatabase sera propriétaire de ces données. Pour que les données aient le même propriétaire dans la nouvelle géodatabase, chaque utilisateur doit déplacer ses propres données.
Déplacer une base de données vers une nouvelle instance SQL Server
Pour déplacer une géodatabase vers une nouvelle instance SQL Server, utilisez les outils SQL Server pour déplacer la base de données entière. Pour déplacer une base de données SQL Server, vous pouvez détacher le fichier de base de données de l'instance SQL Server et l'attacher à une nouvelle instance, créer une sauvegarde de la base de données et la restaurer sur une nouvelle instance SQL Server ou utiliser l'assistant Copie de base de données.
Quelle que soit la méthode que vous utilisez pour déplacer votre base de données SQL Server, vous ne pouvez pas renommer la base de données. En revanche, vous pouvez renommer une base de données lorsque vous la restaurez. Evitez de le faire avec une géodatabase, car vous ne pourrez plus vous y connecter.
Tous les noms d'objet dans les tables système de la géodatabase sont complets avec le nom de la base de données. En outre, de nombreuses procédures stockées utilisent une syntaxe de dénomination composée de trois parties dans leur code et dont le format est <base de données>.<propriétaire>.<objet>. Si le nom de la base de données change, vous ne pourrez pas exécuter ces procédures.
Détachement et rattachement
La méthode la plus simple pour déplacer une géodatabase stockée dans une base de données SQL Server locale consiste à détacher la base de données du serveur source et à l'attacher au serveur de destination. Gardez les points suivants à l'esprit :
- Personne ne peut être connecté à la base de données lorsque vous la détachez.
- La base de données se ferme lorsque vous la détachez.
- Détacher/attacher une base de données peut être plus rapide que la sauvegarder et la restaurer.
- Détacher/attacher des bases de données crée des bases de données identiques sur les serveurs source et de destination.
- Cette méthode est utile pour déplacer de grandes quantités de données.
- Vous devez disposer, au minimum, des autorisations db_owner sur la base de données pour la détacher de l'instance SQL Server.
- Vous devez disposer des autorisations CREATE DATABASE pour attacher une base de données à l'instance SQL Server.
- Pour les géodatabase d'entreprise, vous pouvez spécifier tous les fichiers journaux et données dans la commande CREATE DATABASE FOR ATTACH SQL dans SQL Server,
Restaurer une sauvegarde d'une autre base de données
Une autre solution pour déplacer une base de données SQL Server locale consiste à effectuer une sauvegarde complète de la base de données, puis à restaurer le fichier de la sauvegarde sur votre serveur de destination. Gardez les points suivants à l'esprit :
- Vous ne pouvez pas changer le nom du fichier logique pendant l'opération de restauration.
- Des utilisateurs peuvent être attachés pendant le processus de sauvegarde, mais pas pendant le processus de restauration.
Pour plus d'information sur la restauration de sauvegardes de bases de données SQL Server, consultez la documentation SQL Server.
Assistant Copie de base de données
SQL Server Management Studio comporte un Assistant Copie de base de données qui vous permet de déplacer des bases de données. Tenez compte des points suivants lorsque vous utilisez l'Assistant Copie de base de données :
- Vous pouvez copier plusieurs bases de données.
- L'Assistant Copie de base de données ne peut pas être utilisé pour faire une copie d'une base de données sur la même instance.
- Vous ne pouvez pas exclure des identifiants utilisateur de l'Assistant Copie de base de données pour qu'ils accèdent à la base de données copiée avec un nouvel ID utilisateur de Serveur (SID).
- Pour pouvoir utiliser l'Assistant les serveurs source et cible doivent être connectés.