full - Error 5 del sistema operativo de SQL Server: "5(Acceso denegado)"
sql server descargar (13)
Estoy empezando a aprender SQL y tengo un libro que proporciona una base de datos para trabajar. Estos archivos a continuación están en el directorio pero el problema es que cuando ejecuto la consulta, me da este error:
Msg 5120, nivel 16, estado 101, línea 1 No se puede abrir el archivo físico "C: / Murach / SQL Server 2008 / Databases / AP.mdf". Error 5 del sistema operativo: "5 (Acceso denegado)".
CREATE DATABASE AP
ON PRIMARY (FILENAME = ''C:/Murach/SQL Server 2008/Databases/AP.mdf'')
LOG ON (FILENAME = ''C:/Murach/SQL Server 2008/Databases/AP_log.ldf'')
FOR ATTACH
GO
En el libro, el autor dice que debería funcionar, pero no funciona en mi caso. Busqué pero no sé exactamente cuál es el problema, así que publiqué esta pregunta.
El problema se debe a la falta de permisos para que SQL Server acceda a los archivos mdf y ldf. Todos estos procedimientos funcionarán:
- puede cambiar directamente la cuenta de usuario de inicio del servicio MSSQLSERVER, con la cuenta de usuario que tiene mejores privilegios en los archivos. Luego intente adjuntar la base de datos.
- O puede asignar al usuario el archivo en la pestaña de seguridad de las propiedades de los archivos mdf y ldf con los privilegios de lectura y escritura activados.
- Inicie con la cuenta de administrador de Windows y abra SQL Server con la opción ejecutar como administrador e intente iniciar sesión con la autenticación de Windows y ahora intente adjuntar la base de datos.
Este es un problema relacionado con Windows donde SQL Server no tiene el permiso apropiado para la carpeta que contiene el archivo .bak y, por lo tanto, este error.
El trabajo más fácil es copiar su archivo .bak a la ubicación de copia de seguridad de SQL predeterminada que tiene todos los permisos necesarios. No necesitas jugar con nada más. En SQL SERVER 2012 , esta ubicación es
D:/Program Files/Microsoft SQL Server/MSSQL11.MSSQLSERVER/MSSQL/Backup (SQL 2012)
C:/Program Files/Microsoft SQL Server/MSSQL12.MSSQLSERVER/MSSQL/Backup (SQL 2014)
C:/Program Files/Microsoft SQL Server/MSSQL13.SQLEXPRESS/MSSQL/Backup (SQL 2016)
Incluso si realiza los siguientes pasos, PODRÍA recibir el mismo mensaje de error.
1. login as SA user (SSMS)
2. Edit the file permissions to say "everyone" full access (windows folder)
3. Delete the Log file (Windows Exploring (this was what I had done per advise from some msdn forum)
Todavía obtuve el error de permiso, pero luego noté que en la pantalla Adjuntar, la sección inferior STILL mostraba el archivo LOG, y el mensaje de error seguía siendo el mismo.
Espero que esto ayude a alguien que hizo lo mismo.
La cuenta de servicio del motor de la base de datos de SQL Server debe tener permisos para leer / escribir en la nueva carpeta.
Mira this
Para solucionarlo, hice lo siguiente:
Se agregó el grupo Administradores a los permisos de seguridad del archivo con control total para el archivo de datos (S :) y el archivo de registro (T :).
Adjunta la base de datos y funciona bien.
Los permisos reales del servidor no importarán en este punto; todo se ve bien El propio SQL Server necesita permisos de carpeta.
dependiendo de su versión, puede agregar SERVERNAME $ permisos de MSSQLSERVER para tocar su carpeta. Othewise, tiene que estar en el directorio BACKUP predeterminado (donde lo instaló o por defecto a c: / programfiles (x) / MSSQL / BACKUP.
Para evitar el problema de acceso denegado, inicié SSMS como administrador y eso me permitió adjuntar una base de datos desde mi unidad local. La base de datos se creó en otro SQL y en una instancia de Windows.
Para mí, se resolvió de la siguiente manera con el estudio SQL Server Management -Iniciar sesión como administrador (inicié sesión como autenticación de Windows) -Acceda al archivo mdf (haga clic derecho en Database | attach | Add) -Log out como admin -Iniciar sesión como usuario normal
Resuelvo este problema agregando el permiso de Full control
para los archivos .mdf
y .ldf
para el grupo de Users
.
Sí, es correcto. Lo primero que debe averiguar es su cuenta de servicio de sqlserver, puede verla en el Administrador de tareas cuando presiona ctrl + alt + eliminar al mismo tiempo; luego, debe otorgar el privilegio de lectura / escritura de "C : / Murach / SQL Server 2008 / Databases "a la cuenta de servicio.
Solución muy simple.
- Iniciar sesión con el administrador del sistema
- copie sus archivos mdf y ldf en "C: / Archivos de programa (x86) / Microsoft SQL Server / MSSQL11.MSSQLSERVER / MSSQL / DATA" donde se indica el resto del archivo de datos.
- Ahora adjuntar desde allí funcionará
Una publicación anterior, pero aquí hay un paso por paso que funcionó para SQL Server 2014 que se ejecuta en Windows 7:
- Panel de control ->
- Sistema y seguridad ->
- Herramientas administrativas ->
- Servicios ->
- Double Click SQL Server (SQLEXPRESS) -> clic derecho, Propiedades
- Seleccionar pestaña de inicio de sesión
- Seleccione "Cuenta del sistema local" (el valor predeterminado era una cuenta obtusa del sistema de Windows)
- -> OK
- clic derecho, parar
- clic derecho, Start
Voilá!
Creo que la configuración de la cuenta de inicio de sesión puede haber sido una opción en la instalación, pero de ser así no era la predeterminada, y era fácil pasarla por alto si no era consciente de este problema.
Utilicé Entity Framework en mi aplicación y tuve este problema, propuse cualquier permiso en las carpetas y servicios de Windows y no funcionó, después de eso comencé mi aplicación como administrador (clic derecho en el archivo exe y seleccioné "ejecutar como administrador") y eso funciona multa.
tuve este problema simplemente ejecute el servidor sql como administrador