none
Permisos sobre carpetas SQL Server RRS feed

  • Pregunta

  • Buenos dias.

    Quisiera saber que permisos se debe tener sobre las carpetas de instalación de SQL Server creadas por defecto. Entiendo que los permisos para grabar en los archivos mdf y ldf son de la cuenta de servicio de SQL, entonces si creo una carpeta adicional para almacenar los mdf y ldf, sobre estas carpetas que permisos se debe tener sobre ellos? o eso ya se hace por defecto? normalmente la cuenta que uso es la cuenta local del sistema y/o servicio de red, no se si es la correcta o que se recomienda. Por otra parte cual de los servicios es le que maneja el acceso a escritura sobre los directorios que contienen los datos y logs.

    Saludos.


    OrlandoP

    viernes, 21 de junio de 2013 17:14

Respuestas

  • Hola. En efecto, eso lo maneja la cuenta de servicio. Ahora bien, si creas una carpeta adicional para almacenar los archivos de datos y de logs, debes validar si esa va a ser la carpeta por defecto para las bases de datos de usuario o simplemente lo manejarás de acuerdo con cada base de datos. Para lo primero, debes modificar las propiedades de SQL Server para ello.

    En esas nuevas carpetas, la cuenta de servicio e incluso la de administración podrán crear bases de datos sin problema o restricción alguna; de Nuevo, de eso se encarga SQL Server.

    Yo siempre recomendo, así sea una instalación local, tener dos cuentas creadas; una para el servicio de SQL Server y otra para la administración adicional del mismo.

    Por ultimo, no entiendo eso del servicio que maneja el acceso a escritura sobre los directories que contienen los datos y los logs. Es decir, SQL Server obtiene acceso exclusivo sobre dichos servicios y solo éste escribe o modifica dichos archivos; si se quiere hacer algo con ellos es mejor detener el servicio del motor de base de datos sobre éstos.

    Saludos,


    Guillermo Taylor F.
    IT Pro & Xbox gamer
    My blog

    domingo, 23 de junio de 2013 16:10

Todas las respuestas

  • Hola. En efecto, eso lo maneja la cuenta de servicio. Ahora bien, si creas una carpeta adicional para almacenar los archivos de datos y de logs, debes validar si esa va a ser la carpeta por defecto para las bases de datos de usuario o simplemente lo manejarás de acuerdo con cada base de datos. Para lo primero, debes modificar las propiedades de SQL Server para ello.

    En esas nuevas carpetas, la cuenta de servicio e incluso la de administración podrán crear bases de datos sin problema o restricción alguna; de Nuevo, de eso se encarga SQL Server.

    Yo siempre recomendo, así sea una instalación local, tener dos cuentas creadas; una para el servicio de SQL Server y otra para la administración adicional del mismo.

    Por ultimo, no entiendo eso del servicio que maneja el acceso a escritura sobre los directories que contienen los datos y los logs. Es decir, SQL Server obtiene acceso exclusivo sobre dichos servicios y solo éste escribe o modifica dichos archivos; si se quiere hacer algo con ellos es mejor detener el servicio del motor de base de datos sobre éstos.

    Saludos,


    Guillermo Taylor F.
    IT Pro & Xbox gamer
    My blog

    domingo, 23 de junio de 2013 16:10
  • Hola Guillermo.

    Si creo diferentes carpetas para almacenar BDs de Aplicaciones, se debe configurar permisos ntfs para la cuenta de servicio y/o administracion? o no es necesario? xq cuando dices SQL Server obtiene acceso exclusivo sobre los directorios, asumo que lo hace a traves de alguna cuenta de usuario. Existen unos grupos que se crean cuando se instala SQL, o son esos grupos a los cuales se le da permisos NTFS sobre las carpetas donde se almacenan BDs que no son las que vienen por defecto. Esto lo consulto ya que por auditoria me han observado algunas cuentas que tienen permiso sobre la carpeta donde se encuentra una BD y solo voy a agregar las cuentas de usuario que realmente deben tenerlo.

    Cuando hablas de cuenta de administración, te refieres a una cuenta de windows que sea SA de SQL.

    Saludos.


    OrlandoP


    • Editado OrlandoP miércoles, 26 de junio de 2013 15:47 Mejora
    miércoles, 26 de junio de 2013 13:21
  • Hola. Para diferentes carpetas en donde almacenarás bases de datos de aplicaciones, no requires configurar permisos NTFS porque la cuenta con la que lo haces es administrador local y por ende administrador SQL Server.

    Lo que observa auditoria hay que revisarlo muy bien porque sobre esas carpetas no deberías concederle permisos de acceso a usuarios de esas bases de datos, ya que eso lo maneja SQL Server directamente. Lo otro es que hay que revisar si a ese servidor hay cuentas que pueden ingresar al servidor y ejecutar el SQL Server Management Studio; eso no debe permitirse.

    Y si, cuenta de administración es una cuenta de dominio o de la máquina local que tenga el rol y privilegios de SYSADMIN en SQL Server; ojalá no sea la SA del modo de autenticación mixta.

    Saludos,


    Guillermo Taylor F.
    IT Pro & Xbox gamer
    My blog

    miércoles, 26 de junio de 2013 19:40
  • Guillermo, cuando me dices "no requires configurar permisos NTFS porque la cuenta con la que lo haces es administrador local y por ende administrador SQL Server". Te refieres a cual cuenta?

    Lo que no me queda claro, es como SQL Server escribe en lor archivos fisicos de las BDs, asumo que esto lo hace con alguna cuenta o grupo.

    Saludos.


    OrlandoP

    miércoles, 26 de junio de 2013 20:33
  • Hola. Cuando instalaste SQL Server, hubo una cuenta a la cual le dijiste que iba a ser la administradora de SQL Server, ¿correcto? A esa cuenta me refiero. En mi caso, yo instalé con una cuenta local de máquina llamada "Administrator" y esa cuenta, que es administradora local de hecho, también quedó como administradora de SQL Server. Para el caso de un dominio, muy probablemente tengas una cuenta de tipo DOMINIO\SQLAdmin que es administradora local en el servidor y al instalar SQL Server con esa cuenta pues queda de administradora siempre y cuando indiques que dicha cuenta lo será.

    Lo de como SQL Server escribe en los archivos físicos de la BD, lo puedes ver aquí: http://msdn.microsoft.com/en-us/library/aa337560(v=sql.105).aspx. Como te indicaba antes, para ésto no es necesario que a las cuentas que usarán los archivos de BD en la ubicación por defecto o en otra, les asignes permisos NTFS. De hecho, yo generalmente en mis ambientes de laboratorio, dejo la ubicación por defecto y creo otra carpeta llamada SQLDATA en donde almaceno los MDF y los LDF. Dicha carpeta la creo como Local Admin, que generalmente es el SYSADMIN en SQL Server y pues no tengo problemas.

    No he hecho pruebas a ver que sucede si creo una carpeta con otra cuenta que no sea Local Admin y obviamente no puedo afirmar que pasa en ese escenario.

    Saludos,


    Guillermo Taylor F.
    IT Pro & Xbox gamer
    My blog

    jueves, 27 de junio de 2013 0:07
  • Hola.

    Básicamente, y por experiencia propia, si no usas la carpeta por defecto configurada en SQL SERVER, tendrás que dar permisos de control total en la carpeta donde quieras crear tus bases de datos al Usuario de Windows que inicia el servicio de SQL Server. Así de fácil.

    Saludos.

    jueves, 27 de junio de 2013 7:18