Error de restauración de SQL Server: acceso denegado

Resuelto cdub asked hace 13 años • 20 respuestas

Creé una base de datos en mi máquina local y luego hice una copia de seguridad llamada tables.bakof table DataLabTables.

Moví esa copia de seguridad a una máquina remota sin esa tabla e intenté realizar una restauración pero aparece el siguiente error:

System.Data.SqlClient.SqlError: El sistema operativo devolvió el error '5 (Acceso denegado)' al intentar 'RestoreContainer::ValidateTargetForCreation' en 'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DataLabTables .mdf'.

¿Cómo soluciono mis derechos, si ese es el problema?

cdub avatar Aug 12 '11 02:08 cdub
Aceptado

Acabo de tener este problema con SQL Server 2012.

Resulta que todo lo que tenía que hacer era marcar la casilla "Reubicar todos los archivos en la carpeta" en la sección "Archivos":

ingrese la descripción de la imagen aquí

(Haga clic para ver la imagen en tamaño completo)

Por supuesto, esto supone que tiene instalada la versión correcta de SQL Server.

Exile avatar Jun 17 '2013 11:06 Exile

Según el mensaje de error, dice que hay un error al validar el destino ( c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DataLabTables.mdf) de su operación de restauración.

Eso suena como:

a) ese archivo ya existe (porque ya lo restauró anteriormente) y SQL Server lo utiliza

o

b) ese directorio no existe en absoluto

En su pregunta, mencionó que creó una copia de seguridad para esa tabla; no es así como funcionan las copias de seguridad de SQL Server. Esas copias de seguridad son siempre la base de datos completa (o al menos uno o varios grupos de archivos de esa base de datos).

Mi corazonada es: ya restauró esa base de datos anteriormente y ahora, en una segunda restauración, no marcó la casilla "Sobrescribir la base de datos existente" en su asistente de restauración; por lo tanto, el archivo existente no se puede sobrescribir y la restauración falla.

El usuario que ejecuta la restauración en su servidor remoto obviamente no tiene acceso a ese directorio en el servidor remoto.

C:\program files\....es un directorio protegido: los usuarios normales (no administradores) no tienen acceso a este directorio (ni a sus subdirectorios).

La solución más sencilla: intente colocar su archivo BAK en otro lugar (p. ej. C:\temp) y restáurelo desde allí

marc_s avatar Aug 11 '2011 19:08 marc_s