No puede restaurar una base de datos desde un archivo de copia de seguridad cuando usa un identificador de inicio de sesión de SQL Server que tiene el rol de servidor dbcreator para conectarse a una instancia de SQL Server 2005


Síntomas


Imagine la siguiente situación:
  • En SQL Server Management Studio, se usa un identificador de inicio de sesión de SQL Server que tiene el rol de servidor dbcreator para conectarse a una instancia de Microsoft SQL Server 2005.
  • Intenta restaurar una base de datos a partir de un archivo de copia de seguridad de la base de datos.
  • En el cuadro de diálogo especificar copia de seguridad , especifique archivo como medio de copia de seguridad y, a continuación, haga clic en Agregar. Recibe un mensaje de error similar al siguiente:
    C:\Archivos de Programa\microsoft SQL Server\MSSQL.1\MSSQL\BackupCannot obtenga acceso a la ruta o archivo especificado en el servidor. Compruebe que tiene los privilegios de seguridad necesarios y que existe la ruta de acceso o el archivo. Si sabe que la cuenta de servicio puede tener acceso a un archivo específico, escriba la ruta de acceso completa del archivo en el control nombre de archivo en el cuadro de diálogo Buscar.
  • Haga clic en Aceptar para cerrar el mensaje de error. En el cuadro de diálogo Buscar archivo de copia de seguridad , especifique la copia de seguridad de la base de datos y la ruta de archivo y haga clic en Aceptar.
En esta situación, aparece este mensaje de error:
El servicio de motor de base de datos no pudo resolver la ubicación de archivo especificada. La ubicación no existe o la cuenta de inicio de sesión actual no tiene acceso a ella. Compruebe que la ubicación del archivo existe y que la cuenta de inicio de sesión tiene permisos en él.

Solución alternativa


Para evitar este problema, use la instrucción RESTOre para restaurar la base de datos. Para ello, utilice uno de los métodos siguientes.

Método 1: ejecutar la instrucción RESTOre en SQL Server Management Studio

  1. Inicie SQL Server Management Studio y, a continuación, conéctese a una instancia de SQL Server 2005.
  2. Haga clic en nueva consulta.
  3. Ejecute la instrucción restore. Para ello, utilice uno de los métodos siguientes:
    • Para restaurar toda la base de datos desde el archivo de copia de seguridad de la base de datos, use una instrucción similar a la siguiente:
      RESTORE DATABASE <DBName> FROM DISK = '<BackupFilePath>\<BackupFileName>'GO
      Nota En esta instrucción, <DBName> representa el nombre de la base de datos a la que desea restaurar, <BackupFilePath> representa la ruta de acceso del archivo de copia de seguridad de la base de datos y <BackupFileName> representa el nombre del archivo de copia de seguridad.
    • Para restaurar un archivo específico desde el archivo de copia de seguridad de la base de datos, use una instrucción similar a la siguiente:
      RESTORE DATABASE <DBName> FILE = <FileName> FROM DISK = '<BackupFilePath>\<BackupFileName>'GO
      Nota En esta instrucción, <nombre de archivo> representa el nombre del archivo que desea restaurar.

Método 2: usar la utilidad sqlcmd. exe para ejecutar la instrucción RESTOre

  1. Haga clic en Inicio y en Ejecutar, escriba cmd y, por último, haga clic en Aceptar.
  2. Ejecute un comando similar al siguiente:
    sqlcmd /S<ServerName>\<InstanceName> –U<LoginName> -P<LoginPassword>
    Nota En esta instrucción, <ServerName> representa el nombre del servidor que ejecuta la instancia de SQL Server 2005; <InstanceName> representa el nombre de la instancia de SQL Server 2005; <> LoginName es el nombre del identificador de inicio de sesión de SQL Server que usa para conectarse a la instancia de SQL Server 2005; y <LoginPassword> representa la contraseña del identificador de inicio de sesión de SQL Server.
  3. Ejecute la instrucción RESTOre. Para ello, utilice uno de los métodos siguientes:
    • Para restaurar toda la base de datos desde el archivo de copia de seguridad de la base de datos, use una instrucción similar a la siguiente:
      RESTORE DATABASE <DBName> FROM DISK = '<BackupFilePath>\<BackupFileName>'GO
      Nota En esta instrucción, <DBName> representa el nombre de la base de datos a la que desea restaurar, <BackupFilePath> representa la ruta de acceso del archivo de copia de seguridad de la base de datos y <BackupFileName> representa el nombre del archivo de copia de seguridad.
    • Para restaurar un archivo específico desde el archivo de copia de seguridad de la base de datos, use una instrucción similar a la siguiente:
      RESTORE DATABASE <DBName> FILE = <FileName> FROM DISK = '<BackupFilePath>\<BackupFileName>'GO
      Nota En esta instrucción, <nombre de archivo> representa el nombre del archivo que desea restaurar.

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".

Más información


Para abrir el cuadro de diálogo especificar copia de seguridad , siga estos pasos:
  1. Abra SQL Server Management Studio y, a continuación, conéctese a una instancia de SQL Server 2005.
  2. Haga clic con el botón secundario en basesde datos y luego haga clic enrestaurar base de datos o restaurar archivos y grupos de archivos.
  3. En el cuadro de diálogo restaurar base de datos o en el cuadro de diálogo restaurar archivos y grupos de archivos , haga clic endesde dispositivoy luego en el botón de puntos suspensivos. (El botón de puntos suspensivos contiene tres puntos).

Referencias


Para obtener más información sobre la utilidad sqlcmd. exe, visite el siguiente sitio web de Microsoft Developer Network (MSDN): Para obtener más información sobre la instrucción RESTOre, visite el siguiente sitio web de MSDN: