sql server - smoextended - Error de mssql ''5(acceso denegado).'' durante la restauración de la base de datos
programa para reparar base de datos sql server (12)
Quiero restaurar una base de datos desde un archivo (Tareas-> Restaurar-> Base de datos; después de seleccionar un dispositivo y seleccionar un archivo) a través del estudio de administración del servidor SQL.
Después de eso, me sale este error:
El sistema operativo devolvió el error ''5 (Acceso denegado)'' al intentar ''RestoreContainer :: ValidateTargetForCreation'' en ''E: / Archivos de programa / Microsoft SQL Server / MSSQL10.MSSQLSERVER / MSSQL / DATA / XXXXXX.mdf''. Msg 3156, Nivel 16, Estado 8, Servidor XXXX, Línea 2
¿Cómo soluciono este problema? ¿Es un error de seguridad?
Acabo de encontrarme con este mismo problema pero tuve una solución diferente. Básicamente, tenía tanto SQL Server como SQL Server Express instalados en mi computadora. Esto no funcionaría cuando intenté restaurar a SQL Express, pero funcionó correctamente cuando lo restauré a SQL Server.
Bueno, en mi caso la solución fue bastante simple y directa.
Tuve que cambiar solo el valor de log On As
valor.
Pasos para resolver
- Abrir el
Sql Server Configuration manager
- Haga
click on SQL Server (MSSQLSERVER
derechoclick on SQL Server (MSSQLSERVER
) - Ir a
Properties
- cambiar el
log On As
valor aLocalSystem
Esperando que esto te ayude también :)
En mi caso, tuve que marcar la casilla en Overwrite the existing database (WITH REPLACE)
en la pestaña Options
en la página Restore Database
.
La razón por la que recibía este error: porque ya había un archivo MDF presente en la base de datos y no se estaba sobrescribiendo.
Espero que esto ayude a alguien.
Encontré esto, y funcionó para mí:
CREATE LOGIN BackupRestoreAdmin WITH PASSWORD=''$tr0ngP@$$w0rd''
GO
CREATE USER BackupRestoreAdmin FOR LOGIN BackupRestoreAdmin
GO
EXEC sp_addsrvrolemember ''BackupRestoreAdmin'', ''dbcreator''
GO
EXEC sp_addrolemember ''db_owner'',''BackupRestoreAdmin''
GO
Hace poco tuve este problema. La solución para mí fue ir a la página Archivos del cuadro de diálogo Restaurar base de datos y marcar "Reubicar todos los archivos en la carpeta".
La cuenta con la que se está ejecutando el servidor SQL no tiene acceso a la ubicación donde tiene el archivo de copia de seguridad o está intentando restaurar la base de datos. Puede usar el Administrador de configuración de SQL Server para encontrar qué cuenta se usa para ejecutar la instancia de SQL Server y luego asegurarse de que la cuenta tenga control total sobre el archivo .BAK y la carpeta donde se restaurará el MDF.
Probé el escenario anterior y obtuve el mismo error 5 (acceso denegado). Hice una inmersión profunda y descubrí que el archivo .bak debería tener acceso a la cuenta del servicio SQL. Si no está seguro, escriba services.msc en Inicio -> Ejecutar y luego verifique la cuenta de inicio de sesión del Servicio SQL.
Luego vaya al archivo, haga clic con el botón derecho y seleccione la pestaña Seguridad en Propiedades, luego edite para agregar el nuevo usuario.
Finalmente, entonces dale permiso completo para dar acceso completo.
Entonces desde SSMS intente restaurar la copia de seguridad.
Recibí este error porque marcé "Reasignar todos los archivos a la carpeta" en la pestaña Archivos de la ventana Restaurar base de datos, pero la ruta predeterminada no existía en mi máquina local. Tuve los archivos ldf / mdf en otra carpeta, una vez que cambié, pude restaurar.
Recibía el mismo error al intentar restaurar la base de datos de SQL 2008 R2 en la base de datos de SQL 2012. Supongo que el error se debe a permisos insuficientes para colocar archivos .mdf y .ldf en la unidad C. Intenté una cosa simple y luego logré restaurarlo exitosamente.
Prueba esto:
En las ventanas del asistente de Restaurar base de datos, vaya a la pestaña Archivos, cambie el destino de restauración de C: a otra unidad. Luego proceda con el proceso de restauración regular. Definitivamente obtendrá restauraciones con éxito!
Espero que esto le ayude también. Saludos :)
Si está adjuntando una base de datos, eche un vistazo a la cuadrícula "Bases de datos para adjuntar", y específicamente en la columna Propietario después de que haya especificado su archivo .mdf. Anote la cuenta y otorgue permisos completos para los archivos mdf y ldf.
Tuve exactamente el mismo problema, pero mi solución fue diferente: mi empresa está cifrando todos los archivos en mis máquinas. Después de descifrar el archivo, MSSQL no tuvo ningún problema para acceder y creó la base de datos. Simplemente haga clic derecho en el archivo .bak -> Propiedades -> Avanzado ... -> Cifre los contenidos para proteger los datos.
esto me sucedió el día anterior, era miembro del grupo de administradores del servidor local y tengo acceso sin restricciones, o eso creía. También marqué la opción "reemplazar", a pesar de que no hay tal DB en la instancia.
Descubrió que solía haber DB con el mismo nombre allí, y los archivos MDF y LDF todavía se encuentran físicamente en las carpetas de datos y registro del servidor, pero faltan los metadatos reales en las bases de datos sys. La cuenta de servicio del servidor SQL tampoco puede sobrescribir los archivos existentes. También descubrí que el propietario de los archivos es "desconocido", tuve que cambiar la propiedad a los 2 archivos anteriores para que ahora pertenezcan al grupo de administradores del servidor local, luego lo cambié de nombre.
Entonces, finalmente, funcionó.