La restauration d’une base de données à partir d’un fichier de sauvegarde est impossible lorsque vous utilisez un ID de connexion SQL Server ayant le rôle serveur dbcreator pour vous connecter à une instance de SQL Server 2005


Symptômes


Prenons l’exemple du scénario suivant :
  • Dans SQL Server Management Studio, vous utilisez un ID de connexion SQL Server ayant le rôle de serveur dbcreator pour vous connecter à une instance de Microsoft SQL Server 2005.
  • Vous essayez de restaurer une base de données à partir d’un fichier de sauvegarde de base de données.
  • Dans la boîte de dialogue spécifier la sauvegarde , vous spécifiez fichier comme média de sauvegarde, puis cliquez sur Ajouter. Vous recevez un message d’erreur qui ressemble à ce qui suit :
    C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BackupCannot accéder au chemin ou au fichier spécifié sur le serveur. Vérifiez que vous disposez des autorisations de sécurité nécessaires et que le chemin d’accès ou le fichier existe. Si vous savez que le compte de service peut accéder à un fichier spécifique, tapez le chemin d’accès complet du fichier dans le contrôle de nom de fichier de la boîte de dialogue Rechercher.
  • Pour ignorer le message d’erreur, cliquez sur OK . Dans la boîte de dialogue Rechercher un fichier de sauvegarde , vous spécifiez la sauvegarde de la base de données et le chemin d’accès au fichier, puis cliquez sur OK.
Dans ce scénario, le message d'erreur suivant s'affiche :
Le service du moteur de base de données n’a pas pu résoudre l’emplacement du fichier spécifié. L’emplacement n’existe pas ou le compte de connexion actuel n’y a pas accès. Vérifiez que l’emplacement du fichier existe et que le compte de connexion dispose des autorisations appropriées.

Solution de contournement


Pour contourner ce problème, utilisez l’instruction RESTORE pour restaurer la base de données. Pour cela, appliquez l’une des méthodes suivantes :

Méthode 1 : exécuter l’instruction de restauration dans SQL Server Management Studio

  1. Démarrez SQL Server Management Studio, puis connectez-vous à une instance de SQL Server 2005.
  2. Cliquez sur nouvelle requête.
  3. Exécutez l’instruction RESTORE. Pour cela, appliquez l’une des méthodes suivantes :
    • Pour restaurer la totalité de la base de données à partir du fichier de sauvegarde de la base de données, utilisez une instruction qui ressemble à ce qui suit :
      RESTORE DATABASE <DBName> FROM DISK = '<BackupFilePath>\<BackupFileName>'GO
      Remarque Dans cette instruction, <DBName> représente le nom de la base de données que vous voulez restaurer, <BackupFilePath> représente le chemin d’accès du fichier de sauvegarde de la base de données, <BackupFileName> représente le nom du fichier de sauvegarde.
    • Pour restaurer un fichier spécifique à partir du fichier de sauvegarde de base de données, utilisez une instruction qui ressemble à ce qui suit :
      RESTORE DATABASE <DBName> FILE = <FileName> FROM DISK = '<BackupFilePath>\<BackupFileName>'GO
      Remarque Dans cette instruction, <nom de fichier> représente le nom du fichier que vous voulez restaurer.

Méthode 2 : utiliser l’utilitaire sqlcmd. exe pour exécuter l’instruction de restauration

  1. Cliquez sur Démarrer, sur Exécuter, tapez cmd, puis cliquez sur OK.
  2. Exécutez une commande qui ressemble à ce qui suit :
    sqlcmd /S<ServerName>\<InstanceName> –U<LoginName> -P<LoginPassword>
    Remarque Dans cette instruction, <ServerName> représente le nom du serveur qui exécute l’instance de SQL Server 2005 ; <InstanceName> représente le nom de l’instance de SQL Server 2005 ; <> de LoginName est le nom de l’ID de connexion SQL Server que vous utilisez pour vous connecter à l’instance de SQL Server 2005 ; <LoginPassword> correspond au mot de passe de l’ID de connexion SQL Server.
  3. Exécutez l’instruction RESTORE. Pour cela, appliquez l’une des méthodes suivantes :
    • Pour restaurer la totalité de la base de données à partir du fichier de sauvegarde de la base de données, utilisez une instruction qui ressemble à ce qui suit :
      RESTORE DATABASE <DBName> FROM DISK = '<BackupFilePath>\<BackupFileName>'GO
      Remarque Dans cette instruction, <DBName> représente le nom de la base de données que vous voulez restaurer, <BackupFilePath> représente le chemin d’accès du fichier de sauvegarde de la base de données, <BackupFileName> représente le nom du fichier de sauvegarde.
    • Pour restaurer un fichier spécifique à partir du fichier de sauvegarde de base de données, utilisez une instruction qui ressemble à ce qui suit :
      RESTORE DATABASE <DBName> FILE = <FileName> FROM DISK = '<BackupFilePath>\<BackupFileName>'GO
      Remarque Dans cette instruction, <nom de fichier> représente le nom du fichier que vous voulez restaurer.

Statut


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Informations supplémentaires


Pour ouvrir la boîte de dialogue spécifier la sauvegarde , procédez comme suit :
  1. Ouvrez SQL Server Management Studio, puis connectez-vous à une instance de SQL Server 2005.
  2. Cliquez avec le bouton droit sur bases de données, puis cliquez surrestaurer la base de données ou restaurer des fichiers et des groupes de fichiers.
  3. Dans la boîte de dialogue restaurer la base de données ou dans la boîte de dialogue restauration de fichiers et de groupes , cliquez surà partir d’un appareil, puis cliquez sur le bouton de sélection. (Le bouton points de suspension comporte trois points.)

Références


Pour plus d’informations sur l’utilitaire sqlcmd. exe, visitez le site Web Microsoft Developer Network (MSDN) suivant : Pour plus d’informations sur l’instruction RESTORE, visitez le site Web MSDN suivant :