none
Plan de Contingencia

    Question

  • Estimados.

    El escenario es con un SS2005.

    Tengo un servidor con Mirror, pero aun asi quisiera preparar un plan de contingencia asumiendo que ambos servidores fallan. el tema no es el mirror mas bien tener documentado el servidor principal con todas las configuraciones.

    Tengo:

    -- Backup diarios.

    -- Script de los logins

    -- Script con los permisos.

     

    Quisiera tener script que me indican otras cosas tales como:

    - Script con creacion de roles existentes.

    - Script con los datos de configuracion de la instancia.

    - Script de los jobs

    - Script de los servidores vinculados.

    - Otros

     

    La idea es, programar estos script y utilzarlos para generar archivos para que sean respaldados con esta informacion.

    De esta forma (programandolos) logro no tener que estar actualizando documentos cada vez que creo algun inicio de secion, usuario, permisos,etc.

     

    Me imagino algo asi.

    Documento de Plan de contingencia Servidor 172.1.1.1.

    Para agregar inicios de sesion ejecute los script del documento.txt llamado Inicios de Sesion, y asi sucesivamente.

     

    Espero haberme explicado, y supongo seria la manera mas automatica que existe, (sin algun programa que lo haga claro esta y que no sea propio de sql server)

     

    Saludos.

    CristianPM.

     

     

     

     

     

    Tuesday, August 09, 2011 3:32 AM

Answers

  • Mira, http://www.simple-talk.com/sql/database-administration/let-powershell-do-an-inventory-of-your-servers/ creo que es un artículo que se puede adaptar bastante a lo que necesitas.

    Luego es cuestión de modificarlo para adaptarlo a tus necesidades, y de ese modo además aprendes a usar PS, lo cual es muy, muy recomendable

    Tuesday, August 09, 2011 6:58 AM
  • Ok, eso es diferente, porque en el texto original indicabas que "[...] pero me falta. Quisiera tener script que me indican otras cosas tales como [...]". Yo eso lo interpreto como que quieres que te hagamos el script completo, no ayuda sobre qué vistas de sistema te pueden servir para obtener esa información.

    En fin, en cualquier caso, con PS puedes hacer el script de muchos objetos directamente, sin necesidad de saber cómo hacerlo a través de TSQL. Por ejemplo, con este pequeño ejemplo obtendrías el script de todos los jobs de una instancia:

    [reflection.assembly]::LoadwithPartialName("Microsoft.SQLServer.SMO") | out-Null
     
    $server = New-Object 'Microsoft.sqlserver.management.smo.server' '<servername>'
     
    $server.JobServer.jobs| foreach-Object {$_.script()}
    
    

    El método script() lo poseen muchos objetos de SMO (como por ejemplo los servidores vinculados), así que eso te va a ahorrar mucho trabajo.

    Cuando no lo tengas (como pueda ser la configuración de la máquina), pues simplemente consistiría en recorrer un dataset. Por ejemplo, en http://www.databasejournal.com/features/mssql/article.php/3771046 tienes un script para obtener datos de configuración de la instancia.

    Como verás, es cuestión de tener claro qué es lo que quieres documentar/generar script y luego hacerlo con PS. Seguro que hay alguien que ya ha hecho ese programita en PS y tú tan sólo tendrías que adaptarlo a tus necesidades.

    • Marked as answer by CristianPM Wednesday, August 10, 2011 1:50 PM
    Wednesday, August 10, 2011 7:21 AM

All replies

  • Es siempre recomendable tener documentado el entorno, el problema es mantener actualizado dicho documento.

    Lo más importante, como siempre, es tener backups tanto de las bases de datos de usuario como de las de sistemas. Lo demás es cuestión de que hagas una lista de lo que quieres documentar y luego se podría generar los scripts por medio de, por ejemplo, un programita hecho en PowerShell.

    Tuesday, August 09, 2011 6:32 AM
  • Justamente eso es lo que busco, pues tengo los backups, tengo varios scripts, el documento es el que quiero tener actualizado mas bien indicando que los dato estan en x archivos, estos x archivos son los que necesito generar, si e como indicas con PowerShell pues bienvenido, pero me tocaria aprender, por eso pense en:

     

    Programar los script y respaldar esos x archivos con la informacion, me gustaria si es posible si me puedan indicar la forma mas sencilla de hacerlo, claro con algun ejemplo si no es mucho pedir, insito pense que sera practico, por ejemplo, ejecutar el script que me entrega los inicios de sesion y guardar el resuktado en un txt, y asi con los siguientes script.

    Sobre la lista que me indicas es bastante clara, se cayo el servidor y debo empezar uno de cero.
    Tuesday, August 09, 2011 6:44 AM
  • Mira, http://www.simple-talk.com/sql/database-administration/let-powershell-do-an-inventory-of-your-servers/ creo que es un artículo que se puede adaptar bastante a lo que necesitas.

    Luego es cuestión de modificarlo para adaptarlo a tus necesidades, y de ese modo además aprendes a usar PS, lo cual es muy, muy recomendable

    Tuesday, August 09, 2011 6:58 AM
  • Hola. Además de la excelente recomendación de Carlos, revisa estas herramientas en Codeplex:

    1. Data Dictionary Creator en http://datadictionary.codeplex.com/.

    2. ScriptDB en http://scriptdb.codeplex.com/.

    3. SQLDoc en http://sqldoc.codeplex.com/.

    Saludos,

     

     


    Guillermo Taylor F.

    IT Pro & Xbox gamer

    My blog

    Tuesday, August 09, 2011 11:05 AM
  • Muchas gracias por sus respuestas, por supuesto que son utiles, pero me falta:

     

    Quisiera tener script que me indican otras cosas tales como:

    - Script con creacion de roles existentes.

    - Script con los datos de configuracion de la instancia.

    - Script de los jobs

    - Script de los servidores vinculados.

    - Otros

     

    Si tienen algo por ahi les agradeceria mucho.

    Tuesday, August 09, 2011 4:29 PM
  • Muchas gracias por sus respuestas, por supuesto que son utiles, pero me falta:

     

     

    Quisiera tener script que me indican otras cosas tales como:

    - Script con creacion de roles existentes.

    - Script con los datos de configuracion de la instancia.

    - Script de los jobs

    - Script de los servidores vinculados.

    - Otros

     

    Si tienen algo por ahi les agradeceria mucho.

     

    Para aclarar algo muy importante, cuando digo me falta no quiero indicar que me hagan el script, mas bien orientacion en que tablas/vistas de sistema podria encontrar esto, un ejemplo, puedo obtener el script de un servidor vinculadod e forma facil y sencilla indicandole CREATE , mi tema pasa por que quisiera no tener que hacer el CREATE y poder consultar la informacion desde las mismas vistas de sql.

     

    Atte.

    CristianPM

    Tuesday, August 09, 2011 5:26 PM
  • Ok, eso es diferente, porque en el texto original indicabas que "[...] pero me falta. Quisiera tener script que me indican otras cosas tales como [...]". Yo eso lo interpreto como que quieres que te hagamos el script completo, no ayuda sobre qué vistas de sistema te pueden servir para obtener esa información.

    En fin, en cualquier caso, con PS puedes hacer el script de muchos objetos directamente, sin necesidad de saber cómo hacerlo a través de TSQL. Por ejemplo, con este pequeño ejemplo obtendrías el script de todos los jobs de una instancia:

    [reflection.assembly]::LoadwithPartialName("Microsoft.SQLServer.SMO") | out-Null
     
    $server = New-Object 'Microsoft.sqlserver.management.smo.server' '<servername>'
     
    $server.JobServer.jobs| foreach-Object {$_.script()}
    
    

    El método script() lo poseen muchos objetos de SMO (como por ejemplo los servidores vinculados), así que eso te va a ahorrar mucho trabajo.

    Cuando no lo tengas (como pueda ser la configuración de la máquina), pues simplemente consistiría en recorrer un dataset. Por ejemplo, en http://www.databasejournal.com/features/mssql/article.php/3771046 tienes un script para obtener datos de configuración de la instancia.

    Como verás, es cuestión de tener claro qué es lo que quieres documentar/generar script y luego hacerlo con PS. Seguro que hay alguien que ya ha hecho ese programita en PS y tú tan sólo tendrías que adaptarlo a tus necesidades.

    • Marked as answer by CristianPM Wednesday, August 10, 2011 1:50 PM
    Wednesday, August 10, 2011 7:21 AM
  • Gracias Carlos.

    Por lo mismo aclare el punto, uno muchas veces escribe con una intencion y se lee con otra y viceversa.

     

    Gracias por tu tiempo y apoyo.

     

    CristianPM.

    Wednesday, August 10, 2011 1:52 PM