sql server - recommendations - No se puede instalar la base de datos adventureworks 2012-Error del sistema operativo 5: acceso denegado
account sql server service (18)
Estoy tratando de instalar la base de datos AdventureWorks 2012 en el servidor SQL 2012. Recibí el archivo mdf de este enlace: http://msftdbprodsamples.codeplex.com/releases/view/93587
Aquí está el nombre del archivo que descargué: AdventureWorks2012_Database.zip
Estoy haciendo todo esto en un windows 7 64 bit.
Me sale el siguiente error:
Attach database failed for Server ''SuperPC/SQL2012''. (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.2100.60+((SQL11_RTM).120210-1917+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Attach+database+Server&LinkId=20476
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
Unable to open the physical file "C:/Databases/AdventureWorks2012_Data.mdf". Operating system error 5: "5(Access is denied.)". (Microsoft SQL Server, Error: 5120)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=11.00.2100&EvtSrc=MSSQLServer&EvtID=5120&LinkId=20476
Dando a la cuenta de servicio sql ''NT SERVICE / MSSQLSERVER'' "Control total" de los archivos de base de datos
Si tiene acceso a los archivos / carpetas del servidor, puede probar esta solución que me funcionó:
SQL Server 2012 en Windows Server 2008 R2
- Haga clic derecho en el archivo o carpeta de la base de datos (mdf / ldf) y seleccione "Propiedades".
- Seleccione la pestaña "Seguridad" y haga clic en el botón "Editar".
- Haga clic en el botón "Agregar".
- Ingrese el nombre del objeto para seleccionar como ''NT SERVICE / MSSQLSERVER'' y haga clic en el botón "Comprobar nombres".
- Seleccione el MSSQLSERVER (RDN) y haga clic dos veces en el botón "Aceptar".
- Dale a esta cuenta de servicio "Control total" al archivo o carpeta.
- De vuelta en SSMS, haga clic derecho en la base de datos y seleccione "Propiedades".
- En "Opciones", desplácese hasta la sección "Estado" y cambie "Base de datos de solo lectura" de "Verdadero" a "Falso".
- Adjuntar la base de datos.
- En el cuadro de diálogo, seleccione la ubicación del archivo de AdventureWorks.
- Añade el archivo.
- Elimine el archivo de registro, ya que el servidor SQL creará uno más adelante una vez que se adjunte la base de datos.
El motivo del problema: colocar los archivos mdf y ldf de la base de datos en un directorio fuera de la carpeta de instalación del servidor SQL "oficial".
Solución -
http://tryingmicrosoft.com/error-while-attaching-a-database-to-sql-server-2008-r2/
Pegue el archivo .mdf y el archivo ldf en este directorio: C: / Archivos de programa / Microsoft SQL Server / MSSQL11.SS2012 / MSSQL / DATA
Soluciones que NO resolvieron el problema.
1 - Desbloqueo de los archivos comprimidos. También se verificó que los archivos mdf y ldf no están bloqueados. (Pasos - haga clic derecho en el archivo zip> propiedades> desbloquear)
2 - Ejecutar SSMS 2012 como administrador.
3 - Ejecutar consulta SQL del formulario -
CREATE DATABASE MyAdventureWorks
ON (FILENAME = ''C:/MySQLServer/AdventureWorks_Data.mdf''),
(FILENAME = ''C:/MySQLServer/AdventureWorks_Log.ldf'')
FOR ATTACH;
En realidad es bastante fácil. Solo renombra los archivos. No hay necesidad de mover, agregar permisos ejecutar como lo que sea ...
Error 5 - Acceso denegado: proviene de los viejos tiempos de DOS. Básicamente, es un error de lista de control de acceso de ACL.
Puede poner las bases de datos en cualquier lugar que desee siempre que la cuenta del SERVICIO DE SERVIDOR SQL tenga acceso.
No importa en quién haya iniciado sesión, es la cuenta de servicio la que necesita acceso al directorio y los archivos.
No es necesario ejecutar SSMS como administrador. Adjunto bases de datos todo el tiempo sin este paso.
Gracias por sugerencias anteriores. No tiene que mover los archivos de la base de datos al directorio del servidor SQL ni eliminar el archivo de registro de la base de datos. En su lugar, simplemente otorga el permiso Control total a los archivos .MDF y .LDF para usuarios autenticados. Al hacerlo, adjunto con éxito las bases de datos de ejemplo AdventureWorks2012 y AdventureWorksLT2012 en SQL Server Management Studio (SSMS).
He cambiado los permisos y eso me funcionó: seguridad -> Avanzado. Agregue ''NT Service / MSSQLSERVER'' y otorgue acceso total, deshabilite la herencia , agregue usted mismo para facilitar la resolución de problemas. Hacer eso en ambos archivos .mdf y .ldf.
Me doy cuenta de que esta es una pregunta antigua, pero para mí había dos requisitos para adjuntar una base de datos fuera de la carpeta predeterminada:
- Tuve que otorgar explícitamente al usuario actual (yo) Acceso total a la carpeta (a pesar de que ya tenía permisos implícitos)
- Tuve que conceder a
NT SERVICE/MSSQL$INSTANCENAME
acceso completo a la carpeta
Supongo que el número 1 no es necesario si el proceso (SSMS) es elevado.
NOTA: Windows 7 Pro, SQL 2012
Después de usar DiskManager.msc
, tuve que agregar machine_name/SERVICE
con control total a los archivos .mdf
y .ldf
.
Mi portátil es Borris, así que:
- Haga clic con el botón derecho en el archivo `nombre -> propiedades, haga clic en la pestaña SEGURIDAD, luego en permisos -> agregar y luego verifique los nombres y escriba los servicios.
- Para volver a salir pulsa ok, aplica, ok, ok, ok y ok.
No estoy seguro de por qué cambiar las letras de unidad restableció mis permisos, pero en Windows introdujo la descripción de la imagen aquí
No tienes que mover el archivo .mdf
. Simplemente haga clic derecho en la carpeta en la que se encuentra la base de datos y cambie los permisos de seguridad. Le di a los usuarios autenticados el control total. Luego ejecuté el script TSQL a continuación para adjuntar la base de datos:
CREATE DATABASE MyAdventureWorks
ON (FILENAME = ''C:/Adventureworks/AdventureWorks2012_Data.mdf''),
(FILENAME = ''C:/Adventureworks/AdventureWorks2012_Log.ldf'')
FOR ATTACH;
Como puede ver, los archivos de mi base de datos se encuentran en una carpeta llamada Adventureworks
.
Opciones
1. Mueva .mdf y .ldf al directorio de instalación de SQLServer / Data / folder (por ejemplo, C: / Archivos de programa (x86) / Microsoft SQL Server / MSSQL10.SQLEXPRESS / MSSQL / DATA)
2. Ejecute SQL Server Management Studio como administrador
3. Agregue derechos al usuario de SQL Server en el directorio al que necesita acceder. No estaba seguro de qué usuario era correcto, pero logré que funcionara al dar a la cuenta "[PCNAME] / Users" acceso completo a la carpeta.
Pasos
Haga clic derecho en la carpeta. Seleccione Propiedades. Seleccione la pestaña "Seguridad". Haga clic en "Editar". Seleccione "Usuarios ([PCNAME] / Users)", por ejemplo, si el nombre de la PC era mycomp, este sería "Usuarios (mycomp / Users)"
Haga clic en la casilla "Permitir" junto a "Control total" en "Permisos para usuarios"
Vea here para más detalles sobre las opciones 1 y 2 ..
Pasos para adjuntar la base de datos AdventureWorks2012 a su base de datos MSSQL local:
Solución 1: si tiene suficiente espacio en C: / Drive en Windows y desea crear la base de datos en C: / Drive
- Coloque AdventureWorks2012_Data.mdf y AdventureWorks2012_log.ldf en la siguiente ubicación C: / Archivos de programa / Microsoft SQL Server / MSSQL11.SQLEXPRESS / MSSQL / DATA
2.Haga clic derecho en ''Bases de datos'' en el explorador de objetos y seleccione ''Adjuntar''
3.En el cuadro de diálogo Adjuntar bases de datos, haga clic en el botón ''Agregar'' en las bases de datos para adjuntar: campo.
- Navegue a la ubicación del archivo MDF C: / Archivos de programa / Microsoft SQL Server / MSSQL11.SQLEXPRESS / MSSQL / DATA / AdventureWorks2012_Data.mdf y haga clic en ''Aceptar'' en la parte inferior del cuadro de diálogo ''Adjuntar bases de datos''.
5.Ahora la base de datos ''AdventureWorks2012'' se crea en SQL Server.
Solución 2: Si no tiene suficiente espacio en C: / Drive en Windows
1.Conéctese con su servidor local seleccionando el nombre del servidor XXX / SQLEXPRESS y la autenticación - ''Autenticación de Windows''
2.Haga clic derecho en ''Bases de datos'' en el explorador de objetos y seleccione ''Adjuntar''
3.En el cuadro de diálogo Adjuntar bases de datos, haga clic en el botón ''Agregar'' en las bases de datos para adjuntar: campo.
Vaya a la ubicación del archivo MDF para, por ejemplo, F: / AdventureWorks2012_Database / AdventureWorks2012_Data.mdf y haga clic en ''Aceptar'' en la parte inferior del cuadro de diálogo ''Adjuntar bases de datos''.
Esto generará el siguiente mensaje de error: ''Ocurrió un error al adjuntar la (s) base (s) de datos. Haga clic en el hipervínculo en la columna Mensaje para más detalles.
SOLUCIÓN es:
i) Haga clic derecho en la carpeta AdventureWorks2012_Data, seleccione Propiedades.
ii) haga clic en la pestaña ''Seguridad''
iii) Seleccione Usuarios (xxx / Usuarios) en la sección ''Nombres de grupos o usuarios:''
iv) Haga clic en el botón ''Editar''
v) Seleccione Usuarios (xxx / Usuarios) en el ''Nombre de grupo o usuario:'' en la ventana emergente,
vi) Marque la casilla de verificación ''Control total'' en la sección ''Permisos para usuarios''.
vii) Haga clic en ok & ok.
Ahora, de vuelta a la pantalla Adjuntar bases de datos de SQLsevers, haga clic en el botón ''Agregar'' en las bases de datos para adjuntar: campo.
Vaya a la ubicación del archivo MDF, por ejemplo, F: / AdventureWorks2012_Database / AdventureWorks2012_Data.mdf y haga clic en ''Aceptar'' en la parte inferior del cuadro de diálogo ''Adjuntar bases de datos''.
Ahora la base de datos ''AdventureWorks2012'' se crea en SQL Server.
Resolví este problema descargando los trabajos de aventura de este sitio web.
http://msftdbprodsamples.codeplex.com/downloads/get/723031
Tenga en cuenta que al descargar una carpeta zip de adventure works, asegúrese de que el archivo se adjunte con _data, por ejemplo, AdventureWorks2012_Data.zip, ya que este archivo contiene los archivos .mdf y .ldf.
Una vez descargado, extraiga el contenido de la carpeta a esta URL en su computadora C: / Archivos de programa / Microsoft SQL Server / MSSQL11. *** / MSSQL / DATA. En el servidor SQl, vaya al Explorador de objetos y haga clic con el botón derecho en las bases de datos para adjuntar la base de datos. En el cuadro de diálogo Adjuntar, debe seleccionar Adve ********. Mdf. Todo lo que deberías estar bien desde aquí.
Espero que esto ayude.
Resolví esto por:
Adjuntando el archivo
AdventureWorks2012_Data
.1.1. Entonces el archivo
AdventureWorks2012_log
aparece y no existe.Use el botón
Remove
para eliminar el archivo.log
.- Presiona
OK
Entonces aparece la nueva base de datos.
Simplemente elimine el archivo de registro, si está creando la base de datos por primera vez adjuntando, eso podría ayudarlo.
Estaba intentando crear una base de datos adjuntando y seguí obteniendo una captura de pantalla similar
Gracias al artículo a continuación que encontré y que solo tuve que eliminar el registro, era obvio, pero MS no se ofreció a no mostrarse por sí mismos para las nuevas bases de datos. Muy mala experiencia, no estoy seguro si es similar para los productos con licencia del servidor SQL.
http://exacthelp.blogspot.in/2012/12/unable-to-open-physical-file-operating.html
Tuve el mismo problema al intentar crear una nueva base de datos con configuraciones personalizadas de ASP.NET MVS y perdí algunas horas para resolverlo. Finalmente, mi solución fue ingresar a las opciones de carpeta / seguridad de mi carpeta App_Data. Luego agregué una cuenta de ''usuarios autenticados'' y le di control total. Y eso fue todo. Mi aplicación funciona bien ..
iTS EASY, simplemente detenga el servicio SQL, copie lo que desea o haga la restauración, y luego vuelva a iniciar el servicio ... voiláaa No puede copiar nada a menos que detenga el servicio. si las cosas que desea restaurar están en un árbol activo, no puede sobrescribirlo, está bloqueado, simple ...
Lo sé ... gracias a mí :)
simplemente agregue el usuario actual a la pestaña de seguridad, tendrá control total y se volverá a ejecutar la consulta de atttach