Copie de bases de données avec la sauvegarde et la restauration

Dans SQL Server 2008 R2, vous pouvez créer une base de données en restaurant une sauvegarde de base de données créée à l'aide de SQL Server 2000, SQL Server 2005, SQL Server 2008 ou SQL Server 2008 R2. Cependant, les sauvegardes des bases de données master, model et msdb créées avec SQL Server 2000 ou SQL Server 2005 ne peuvent pas être restaurées par SQL Server 2008 R2. Par ailleurs, les sauvegardes SQL Server 2008 R2 ne peuvent pas être restaurées par les versions antérieures de SQL Server.

Les sauvegardes de base de données créées avec SQL Server 7.0 ou une version antérieure possèdent un format incompatible et ne peuvent pas être restaurées dans SQL Server 2008 R2. Pour plus d'informations sur la migration d'une base de données créée avec SQL Server 6.5 ou une version antérieure vers SQL Server 2005, consultez Copie de bases de données à partir de SQL Server 7.0 ou de versions antérieures.

Important

SQL Server 2008 et SQL Server 2008 R2 utilisent un chemin d'accès par défaut différent de celui des versions précédentes. Par conséquent, pour restaurer une base de données créée dans l'emplacement par défaut de SQL Server 2000 ou SQL Server 2005 à partir des sauvegardes, vous devez utiliser l'option MOVE. Pour plus d'informations sur le nouveau chemin par défaut, consultez Emplacements des fichiers pour les instances par défaut et les instances nommées de SQL Server. Pour plus d'informations sur le déplacement des fichiers d'une base de données, consultez la section « Déplacement des fichiers d'une base de données » dans les pages suivantes de cette rubrique.

Étapes générales de l'utilisation de la sauvegarde et de la restauration pour copier une base de données

Lorsque vous utilisez la sauvegarde et la restauration pour copier une base de données vers une autre instance de SQL Server, les ordinateurs source et de destination peuvent correspondre à n'importe quelle plateforme qui exécute SQL Server.

Voici les étapes de base :

  1. Sauvegardez la base de données source, qui peut résider sur une instance de SQL Server 2000, SQL Server 2005, SQL Server 2008 ou SQL Server 2008 R2. L'ordinateur qui exécute cette instance de SQL Server constitue l'ordinateur source.

  2. Sur l'ordinateur de destination de la copie de la base de données (ordinateur de destination), connectez-vous à l'instance de SQL Server sur laquelle vous voulez restaurer la base de données. Si nécessaire, sur l'instance de serveur de destination, créez les mêmes unités de sauvegarde que celles utilisées pour sauvegarder les bases de données sources.

  3. Restaurez la sauvegarde de la base de données source sur l'ordinateur de destination. La restauration automatique de la base de données crée tous les fichiers de la base de données.

Les rubriques suivantes portent sur d'autres points qui peuvent affecter cette procédure.

Avant la restauration des fichiers de la base de données

La restauration automatique d'une base de données crée les fichiers nécessaires à la base de données de restauration. Par défaut, les fichiers créés par SQL Server pendant la restauration utilisent les mêmes noms et chemins que les fichiers de sauvegarde de la base de données d'origine sur l'ordinateur source. Pour éviter les erreurs et des résultats inattendus, avant la restauration, identifiez les fichiers créés automatiquement par la restauration, car :

  • Les noms de fichiers peuvent déjà exister sur l'ordinateur, ce qui engendrerait une erreur.

  • L'emplacement cible peut ne pas disposer d'un espace suffisant.

  • La structure de répertoire ou le mappage du lecteur peut ne pas exister sur l'ordinateur.

    La sauvegarde risque, par exemple, de contenir un fichier à restaurer sur le lecteur E alors que l'ordinateur de destination ne possède pas de lecteur E.

  • Si les fichiers de base de données peuvent être remplacés, une base de données et les fichiers existants possédant le même nom que ceux figurant dans la sauvegarde sont remplacés si ces fichiers n'appartiennent pas à une base de données différente.

AttentionAttention

Si vous réutilisez un nom de base de données et une destination existants et que ses fichiers sont remplacés, les fichiers existants possédant le même nom que ceux figurant dans la sauvegarde sont remplacés.

Lorsque vous restaurez la base de données, le cas échéant, vous pouvez définir le mappage de lecteur, les noms de fichiers ou le chemin de la base de données de restauration.

Déplacement des fichiers de la base de données

Si les fichiers figurant dans la sauvegarde de la base de données ne peuvent pas être restaurés sur l'ordinateur de destination pour les raisons mentionnées précédemment, il est nécessaire de transférer les fichiers vers un nouvel emplacement lors de leur restauration. Exemple :

  • Vous voulez restaurer une base de données depuis des sauvegardes créées dans l'emplacement par défaut de SQL Server 2000 ou SQL Server 2005.

  • Il peut s'avérer nécessaire de restaurer certains fichiers de la base de données de la sauvegarde sur un lecteur différent à cause des capacités de stockage. Il est probable que cela se produise fréquemment car, à l'intérieur d'une organisation, le nombre et la taille des unités de disques ainsi que les configurations logicielles diffèrent souvent d'un ordinateur à l'autre.

  • Il peut s'avérer nécessaire de créer une copie d'une base de données existante sur le même ordinateur afin de procéder à des tests. Dans ce cas, les fichiers de la base de données initiale existent déjà et il faut donc préciser des noms de fichiers différents lors de la création de la base de données pendant la restauration.

Pour plus d'informations, consultez la section « Pour restaurer des fichiers et des groupes de fichiers dans un nouvel emplacement » dans les pages suivantes de cette rubrique.

Modification du nom de la base de données

Le nom de la base de données peut être modifié lors de la restauration sur l'ordinateur de destination, sans avoir à restaurer d'abord la base de données puis modifier le nom manuellement. Il peut s'avérer nécessaire, par exemple, de remplacer le nom de la base de données Sales par SalesCopy pour indiquer qu'il s'agit d'une copie d'une base de données.

Le nom de la base de données fourni explicitement lors de la restauration d'une base de données est utilisé automatiquement comme nouveau nom. Le nom de la base de données n'existant pas encore, un nouveau nom est créé en utilisant les fichiers figurant dans la sauvegarde.

Lors de la mise à niveau d'une base de données en utilisant la restauration

Lors de la restauration de sauvegardes à partir de SQL Server 2000 ou SQL Server 2005, il est utile de savoir à l'avance si le chemin d'accès (lecteur ou répertoire) de chaque catalogue de texte intégral figurant dans la sauvegarde existe sur l'ordinateur de destination. Pour établir la liste des noms logiques et des noms physiques, du chemin et du nom de chaque fichier dans une sauvegarde, y compris les fichiers de catalogues, utilisez l'instruction RESTORE FILELISTONLY FROM <backup_device>. Pour plus d'informations, consultez RESTORE FILELISTONLY (Transact-SQL).

Si le même chemin n'existe pas sur l'ordinateur de destination, vous pouvez procéder de l'une des deux manières suivantes :

  • Créez le mappage lecteur/répertoire équivalent sur l'ordinateur de destination.

  • Transférez les fichiers de catalogues vers un nouvel emplacement lors de la restauration en utilisant la clause WITH MOVE dans l'instruction RESTORE DATABASE. Pour plus d'informations, consultez RESTORE (Transact-SQL).

Pour plus d'informations sur les autres options de mise à niveau des index de recherche en texte intégral, consultez Mise à niveau de la fonction de recherche en texte intégral.

Propriété de la base de données

Lorsqu'une base de données est restaurée sur un autre ordinateur, la connexion SQL Server ou l'utilisateur Microsoft Windows à l'origine de l'opération de restauration devient automatiquement le propriétaire de la nouvelle base de données. Lorsque la base de données est restaurée, l'administrateur du système ou le nouveau propriétaire de la base de données peut modifier la propriété de la base de données. Pour éviter la restauration non autorisée d’une base de données, utilisez des mots de passe de supports de sauvegarde ou de jeux de sauvegardes. Pour plus d'informations, consultez Considérations sur la sécurité pour les sauvegardes et la restauration.

Gestion de métadonnées lors de la restauration vers une autre instance de serveur

Lorsque vous restaurez une base de données sur une autre instance de serveur, pour garantir une expérience cohérente aux utilisateurs et aux applications, vous devrez peut-être recréer tout ou partie des métadonnées de la base de données, telles que les connexions et les travaux, sur l'autre instance de serveur. Pour plus d'informations, consultez Gestion des métadonnées lors de la mise à disposition d'une base de données sur une autre instance de serveur.

Pour afficher les données et les fichiers journaux dans un jeu de sauvegarde

Pour restaurer des fichiers et groupes de fichiers dans un nouvel emplacement

Pour restaurer des fichiers et groupes de fichiers en remplaçant des fichiers existants

Pour restaurer des fichiers et groupes de fichiers dans un nouvel emplacement

Pour restaurer une base de données avec un nouveau nom

Pour redémarrer une opération de restauration interrompue

Pour modifier le propriétaire d'une base de données

Pour copier une base de données à l'aide de SMO (SQL Server Management Objects)