Tengo una instancia de SQL Server 2012 ejecutándose como un servicio en mi computadora y, de acuerdo con la página de servicio, inicia sesión como cuenta "NT Service \ MSSQLSERVER". Sin embargo, no puedo ver ese nombre de cuenta en ningún otro lugar, incluido el área "Usuarios y grupos locales" en la pantalla de administración de la computadora, porque, como dice un enlace a continuación, esa no es una cuenta de usuario, es un nombre de servicio, en ese cuadro que Microsoft tan útilmente etiquetado como "cuenta". En este punto puedo ver a muchas personas confundidas.
La tarea que estoy tratando de lograr es restaurar archivos usando el cuadro de diálogo SSMS "Ubicar archivo de respaldo", que usa un cuadro de diálogo completamente diferente a cualquiera de los cuadros de diálogo estándar de abrir archivos de Windows, probablemente porque está haciendo un trabajo "remoto" y opera desde el contexto de seguridad del servidor SQL, otra fuente rica de confusión del usuario final, que espero que esta pregunta pueda ayudar a aclarar.
Hasta ahora, si quiero restaurar una copia de seguridad del archivo .mdf / .bak que tengo en una de mis carpetas, tengo que configurar esa carpeta para que todos puedan leerla o de lo contrario no puedo entrar con el servidor SQL "Localizar copia de seguridad Ventana "Archivo". Encuentro esta idea de que está utilizando una GUI hablando con un servicio que tiene diferentes cuentas de usuario y derechos que usted, que a nadie en Microsoft le importó aclarar, muy confuso incluso cuando tengo años de experiencia con la administración de sistemas Windows .
Espero haber perdido algunas páginas de documentación para SQL Server que le dirían, después de instalar una nueva instancia del servidor SQL, cómo puede configurar la seguridad.
Las publicaciones en foros como esta tienen incluso empleados de Microsoft que dicen "esto es complicado" y que "cambió de nuevo" en Denali. ¿Cómo funciona esto ahora en SQL Server 2012 y cómo puedo agregar permiso para leer los archivos que pertenecen a los usuarios a la seguridad del motor de la base de datos SQL SID
?
fuente
Respuestas:
Como referencia, "Denali" es SQL Server 2012. Con respecto a la "confusión del usuario final", no me preocupa mucho si un usuario final está confundido o no con respecto al SSMS. Microsoft no desarrolló esta herramienta para el usuario final normal, sino para el administrador de la base de datos y / o un usuario que tuvo que administrar una base de datos. Por lo tanto, habrá una curva de aprendizaje con las herramientas proporcionadas y cómo funcionan. El cuadro de diálogo de archivo ha sido así en SSMS desde que SSMS salió con SQL Server 2005. Es por eso que en general verá la mayoría de las declaraciones T-SQL para hacer copias de seguridad, restaurar o adjuntar una base de datos que lo ha estado utilizando desde entonces .
Para configurar los permisos del sistema de archivos con SQL Server, puede seguir las instrucciones de MSDN aquí .
La forma en que se manejan las cuentas de servicio no vino o debido a SQL Server, se debió al cambio en el nivel del sistema operativo. Window Server 2008 R2 pone un poco más de una capa de seguridad alrededor de las cuentas de servicio. La ventaja que tiene es que la cuenta de servicio puede acceder más fácilmente a los recursos en un dominio incluso si se instala con la configuración predeterminada. Este enlace proporciona una visión bastante detallada de cómo se manejan los permisos de la cuenta de servicio con SQL Server 2012. El extracto del enlace se encuentra a continuación en las Cuentas virtuales utilizadas de manera predeterminada en SQL Server 2012. También hay un enlace en el artículo que incluye más información. discusión sobre el concepto de cuenta de servicio con Windows, aquí. Es de Windows Server 2008 R2, pero creo que aún es cierto en Windows Server 2012, y probablemente en Windows Server 2012 R2.
fuente
Para ver / acceder a los archivos en otra carpeta, otorgue
NT SERVICE\MSSQLSERVER
permisos en la carpeta. Vea mi respuesta publicada en el archivo .bak no visible en ningún directorio en SSMS para capturas de pantalla y los pasos involucrados. (Ligeramente diferente de agregar permisos normales de usuario / grupo a una carpeta).¡Espero que ayude!
fuente
De hecho, si intenta hacer una restauración a través de SSMS, y ha iniciado sesión a través de Autenticación de Windows (!), Será SU cuenta de Windows (y no "todos") la que necesita los permisos para eso, NO el Servicio de SQL Server Cuenta. Espero que eso aclare la confusión. La cuenta de servicio tiene otras necesidades. Por ejemplo, si inició sesión a través de una cuenta autenticada de SQL, entonces ¿qué permisos debe solicitar el sistema operativo? En este caso, será la cuenta de servicio de SQL Server solo caso! Esto no ha cambiado desde SQL Server 7.0 y probablemente ni siquiera antes de eso :)
fuente
.bak
archivo (que generalmente no tendrá si está en su directorio de usuarios, a menos que se otorgue explícitamente).