none
Base de Datos en unidad de red. RRS feed

  • Pregunta

  • Hola a todos

    He visto varios temas de hacer backups en unidades de red con scripts para "mapear" a ellas porque al parecer, si no me equivoco, si se hace desde el explorador con "Agregar una unidad de red" el sql por si solo no las identifica.

    En mi caso concreto quiero que una BBDDs esté en una unidad de red que en este caso es un hdd externo conectado a la red (un WD) y uso uno de esos scripts con la opción /PERSISTENT:Yes y todo va bien, pero, no me queda muy claro si se mantiene si se reinicia el servicio o el servidor sql. Siguiendo los ejemplos he creado un .bat que ejecuta un sqlcmd y este a su vez un .sql y lo he agregado a las tareas de windows para que esta se ejecute cuando se reinicia el equipo, pero en este sentido tal vez puede pasar que se ejecute la tarea antes de que el servicio de sql esté activo y por supuesto fallaría el mapeo.

    Mis dos preguntas concretas son ¿ se mantendría la conexión con la unidad de red si se reinicia el sql o el servidor y uso la opción /PERSISTENT:Yes ?, suponiendo que se ejecute la tarea antes de que esté el sql activo ¿ alguna otra variante o sugerencia ?.

    Tengo SQL 2012 Express y mi servidor windows server 2012.

    Muchas gracias de antemano.


    • Editado Raimundo Ferrer miércoles, 6 de junio de 2018 10:16 Agregar datos
    miércoles, 6 de junio de 2018 10:13

Respuestas

  • No sé si el mapeo de la unidad de red persiste o no, pero te puedo hacer una sugerencia mejor: No mapees la unidad de red a una letra; en su lugar, envía el backup a una ruta UNC:

    BACKUP DATABASE [MiBase] TO DISK='\\servidor\carpeta\MiBase.bak'

    Si lo haces graficamente desde SSMS no te deja seleccionar una unidad de red, pero si escribes el comando funciona perfectamente empezando por \\ en lugar de escribir una letra de unidad. De esta forma te evitas mapear esa letra.

    • Marcado como respuesta Raimundo Ferrer sábado, 6 de octubre de 2018 14:03
    miércoles, 6 de junio de 2018 10:30
  • Hola.

    De acuerdo con la documentación sobre CREATE DATABASE, si es posible. Ten en cuenta que, en ese mismo documento, Microsoft indica que "We recommend that you use a Storage Area Network (SAN), iSCSI-based network, or locally attached disk for the storage of your SQL Server database files, because this configuration optimizes SQL Server performance and reliability". No hablan en momento alguno de Network Shares, a expensas de que se pueda...

    Ahora bien, a expensas de que se pueda, no se recomienda para producción puesto que si hay una falla de red, la BD no estaría disponible, así hayas creado algo de redundancia en donde tengas los archivos MDF, NDF si aplican y LDF. Recomiendo no hacer esto en Producción, pero de pronto si en Desarrollo o Pruebas.

    Ahora bien, ¿por qué el requerimiento o necesidad de crear una BD en un Netowrk Share? Es solo para tener mayor contexto...

    Saludos,


    Guillermo Taylor F.
    MVP Data Platform & IT Pro
    Mi Blog

    • Marcado como respuesta Raimundo Ferrer sábado, 6 de octubre de 2018 14:04
    miércoles, 6 de junio de 2018 13:07
  • No sé si el mapeo de la unidad de red persiste o no, pero te puedo hacer una sugerencia mejor: No mapees la unidad de red a una letra; en su lugar, envía el backup a una ruta UNC:

    BACKUP DATABASE [MiBase] TO DISK='\\servidor\carpeta\MiBase.bak'

    Si lo haces graficamente desde SSMS no te deja seleccionar una unidad de red, pero si escribes el comando funciona perfectamente empezando por \\ en lugar de escribir una letra de unidad. De esta forma te evitas mapear esa letra.

    Gracias Alberto por tu respuesta pero lo del Backup era solo una referencia a los ejemplos que había visto, en realidad quiero que una BBDDs tenga sus archivos mdf y log en la unidad de red, según tu respuesta ¿ cuando creo la BBDDs puedo especificar también su ubicación usando una ruta UNC ?, saludos.
    miércoles, 6 de junio de 2018 11:22
  • Alberto, probé a crearla dando la ubicación UNC y perfecto, gracias por darme una "pista".

    Saludos a todos.

    • Marcado como respuesta Raimundo Ferrer miércoles, 6 de junio de 2018 12:56
    miércoles, 6 de junio de 2018 12:56
  • Hola guillermotaylor

    Son requerimientos de los que usan la BBDDs; para mi está claro que lo mejor es lo que comentas tu e indica Microsoft y así lo he hecho saber. Claro esto supone una inversión, tampoco exagerada, y el uso de está BBDDs es ínfima y tiene pocas tablas y registros.

    Gracias por tu respuesta. 

    • Marcado como respuesta Raimundo Ferrer miércoles, 6 de junio de 2018 14:34
    miércoles, 6 de junio de 2018 14:34
  • Raimundo, debe tomar en cuenta que la ESCRITURA hacia el disco mapeado sera mucho, pero mucho mas lenta que si lo hace de forma LOCAL y al terminar "mueve" su respaldo a esa unidad mapeada.
    • Marcado como respuesta Raimundo Ferrer sábado, 6 de octubre de 2018 14:04
    miércoles, 6 de junio de 2018 14:50
  • Hola.

    Gracias Raimundo.

    Lo importante es que has comunicado la práctica recomendada del fabricante. Ya si la acogen, a expensas del riesgo que esto representa, o no, deberá valorarse para tener las debidas contingencias de acuerdo con el escenario.

    Saludos,


    Guillermo Taylor F.
    MVP Data Platform & IT Pro
    Mi Blog

    • Marcado como respuesta Raimundo Ferrer sábado, 6 de octubre de 2018 14:04
    miércoles, 6 de junio de 2018 15:19

Todas las respuestas

  • No sé si el mapeo de la unidad de red persiste o no, pero te puedo hacer una sugerencia mejor: No mapees la unidad de red a una letra; en su lugar, envía el backup a una ruta UNC:

    BACKUP DATABASE [MiBase] TO DISK='\\servidor\carpeta\MiBase.bak'

    Si lo haces graficamente desde SSMS no te deja seleccionar una unidad de red, pero si escribes el comando funciona perfectamente empezando por \\ en lugar de escribir una letra de unidad. De esta forma te evitas mapear esa letra.

    • Marcado como respuesta Raimundo Ferrer sábado, 6 de octubre de 2018 14:03
    miércoles, 6 de junio de 2018 10:30
  • No sé si el mapeo de la unidad de red persiste o no, pero te puedo hacer una sugerencia mejor: No mapees la unidad de red a una letra; en su lugar, envía el backup a una ruta UNC:

    BACKUP DATABASE [MiBase] TO DISK='\\servidor\carpeta\MiBase.bak'

    Si lo haces graficamente desde SSMS no te deja seleccionar una unidad de red, pero si escribes el comando funciona perfectamente empezando por \\ en lugar de escribir una letra de unidad. De esta forma te evitas mapear esa letra.

    Gracias Alberto por tu respuesta pero lo del Backup era solo una referencia a los ejemplos que había visto, en realidad quiero que una BBDDs tenga sus archivos mdf y log en la unidad de red, según tu respuesta ¿ cuando creo la BBDDs puedo especificar también su ubicación usando una ruta UNC ?, saludos.
    miércoles, 6 de junio de 2018 11:22
  • Alberto, probé a crearla dando la ubicación UNC y perfecto, gracias por darme una "pista".

    Saludos a todos.

    • Marcado como respuesta Raimundo Ferrer miércoles, 6 de junio de 2018 12:56
    miércoles, 6 de junio de 2018 12:56
  • Hola.

    De acuerdo con la documentación sobre CREATE DATABASE, si es posible. Ten en cuenta que, en ese mismo documento, Microsoft indica que "We recommend that you use a Storage Area Network (SAN), iSCSI-based network, or locally attached disk for the storage of your SQL Server database files, because this configuration optimizes SQL Server performance and reliability". No hablan en momento alguno de Network Shares, a expensas de que se pueda...

    Ahora bien, a expensas de que se pueda, no se recomienda para producción puesto que si hay una falla de red, la BD no estaría disponible, así hayas creado algo de redundancia en donde tengas los archivos MDF, NDF si aplican y LDF. Recomiendo no hacer esto en Producción, pero de pronto si en Desarrollo o Pruebas.

    Ahora bien, ¿por qué el requerimiento o necesidad de crear una BD en un Netowrk Share? Es solo para tener mayor contexto...

    Saludos,


    Guillermo Taylor F.
    MVP Data Platform & IT Pro
    Mi Blog

    • Marcado como respuesta Raimundo Ferrer sábado, 6 de octubre de 2018 14:04
    miércoles, 6 de junio de 2018 13:07
  • Hola guillermotaylor

    Son requerimientos de los que usan la BBDDs; para mi está claro que lo mejor es lo que comentas tu e indica Microsoft y así lo he hecho saber. Claro esto supone una inversión, tampoco exagerada, y el uso de está BBDDs es ínfima y tiene pocas tablas y registros.

    Gracias por tu respuesta. 

    • Marcado como respuesta Raimundo Ferrer miércoles, 6 de junio de 2018 14:34
    miércoles, 6 de junio de 2018 14:34
  • Raimundo, debe tomar en cuenta que la ESCRITURA hacia el disco mapeado sera mucho, pero mucho mas lenta que si lo hace de forma LOCAL y al terminar "mueve" su respaldo a esa unidad mapeada.
    • Marcado como respuesta Raimundo Ferrer sábado, 6 de octubre de 2018 14:04
    miércoles, 6 de junio de 2018 14:50
  • Hola.

    Gracias Raimundo.

    Lo importante es que has comunicado la práctica recomendada del fabricante. Ya si la acogen, a expensas del riesgo que esto representa, o no, deberá valorarse para tener las debidas contingencias de acuerdo con el escenario.

    Saludos,


    Guillermo Taylor F.
    MVP Data Platform & IT Pro
    Mi Blog

    • Marcado como respuesta Raimundo Ferrer sábado, 6 de octubre de 2018 14:04
    miércoles, 6 de junio de 2018 15:19