Como rescatar de las llamas del infierno un MDF sin el LDF

agosto 11, 2009 07:27 by sergio

Tomando como referencia el tipo de redacción de mi colega DDAZ voy a escribir este POST haciendo alusión a un “posible” caso de la vida real. Quiero aclarar que no soy DBA y no soy una eminencia optimizando sentencias SQL o una cosa por el estilo. Los nombres utilizados y su parecido con la realidad son mera coincidencia. 

El DBA despistado 

Josué, el encargado de la integridad de la información  y de los aspectos ambientales de la información de de una prestigiada empresa prestadora de servicios de tecnología (DBA), consiente y preocupado ante cualquier proceso de recuperación de desastres, análisis de rendimiento y optimización de base datos, olvidó (“por error”). Programar ya sea incrementalmente, diferencialmente o totalmente respaldos propios de la información contenida en las bases de datos de la compañía. 

Un día (viernes, que raro), ocurrió algo que estaba contenido en el plan de recuperación a desastres y solo se pensaba que podría llegar a ocurrir si el experimento que se está realizando en Suiza (entre las montañas del Jura y el lago de Ginebra), generara un poderoso arranque de gravedad que comprimiera la materia y terminara con la vida tal cual la conocemos. Un simple apagón de energía eléctrica, lo cual ocasionó que se dañaran varios sectores en disco duro, se malogrará el sistema de arranque del sistema operativo y se perdieran los log de transacciones de todas las bases de datos (LDF).

Cabe mencionar que el SMBD era SQL Server. La empresa sufrió mucho operativamente y la información vital de la misma, jamás se pudo recuperar. JAMÁS!! 

¿Por qué Sucedió esto? 

Josué, como todo profesionista promedio, tuvo un escenario en donde la teoría no sirve para nada ante situaciones prácticas donde se requiere actuar rápido para mantener el negocio. Adicionalmente también desconocía las bondades y la importancia de realizar respaldos de sus bases de datos como lo detalla la siguiente tabla*: 

 

Respaldo

Archivos en Respaldo Ventajas Desventajas
Completo ("Full") Todos Con este respaldo únicamente es posible recuperar toda la información Tiempo de Ejecución
De Incremento ("Incremental") Archivos con archive bit activo.(Aquellos que hayan cambiado desde el último Respaldo Completo) Velocidad Requiere del último Respaldo Completo y de todos los Respaldos de Incremento que le siguieron para recuperar el Sistema
Diferencial ("Differential") Archivos con archive bit activo.(Aquellos que hayan cambiado desde el último Respaldo Completo) Sólo requiere del último Respaldo Completo y del último respaldo Diferencial Ocupa mayor espacio en discos comparado con Respaldos de Incremento

*Clasificación de Respaldos. Osmosis Latina - http://www.osmosislatina.com/soporte/respaldos.htm 

¿Qué hacer si ya valió? 

Cabe mencionar que la siguiente alternativa solo funciona para SQL Server y no es una opción muy “elegante” al problema, yo sigo la siguiente filosofía: “A problemas piñatas, soluciones piñatas”, no por algo tengo un diploma a las “marranadas” (hablando de soluciones tecnológicas). 

La solución propuesta sería: 

1.    Crear las bases de datos afectadas en blanco, detener el servicio de SQL Server y cambiar el MDF por el que rescataron del server caído (Q.E.P.D). 

2.    Eliminar el LDF que se generó en blanco y reiniciar el servicio de SQL. Dado esto debería marcar la base de datos como suspect. 

3.    Posicionarse en la base de datos MASTER (USE MASTER) 

4.    Cambiar las opciones de configuración global del servidor actual para que permita hacer cambios al mismo. 

EXEC sp_Configure 'ALLOW UPDATES', 1
RECONFIGURE WITH OVERRIDE 

5.    Cambiar el estado de la base de datos a MODO DE EMERGENCIA. 

UPDATE SYSDATABASES SET STATUS = 32768 WHERE NAME = 'NombreBaseDeDatos'  

6.    Cambiar las opciones de configuración global del servidor actual para que ya no permita hacer cambios al mismo

EXEC sp_Configure 'ALLOW UPDATES', 0
RECONFIGURE WITH OVERRIDE 

7.    Cambiar la base de datos afectada a opción de usuario simple. 

EXEC sp_DBOption 'ArchivoIntegracion', 'SINGLE USER', 'TRUE' 

8.    Reconstruir el LOG de transacciones (LDF) de la base de datos (MDF). 

DBCC REBUILD_LOG ('NombreBaseDeDatos', 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\NombreBaseDeDatos_Log.ldf') 

9.    Cambiar las opciones de configuración global del servidor actual para que permita hacer cambios al mismo. 

EXEC sp_Configure 'ALLOW UPDATES', 1
RECONFIGURE WITH OVERRIDE 

10. Cambiar el estado de la base de datos a MODO NORMAL. 

UPDATE SYSDATABASES SET STATUS = 0 WHERE NAME = 'NombreBaseDeDatos' 

11. Cambiar las opciones de configuración global del servidor actual para que ya no permita hacer cambios al mismo 

EXEC sp_Configure 'ALLOW UPDATES', 0
RECONFIGURE WITH OVERRIDE 

12. Cambiar la base de datos afectada a opción de usuarios múltiples. 

EXEC sp_dboption 'ArchivoIntegracion', 'SINGLE USER', 'FALSE' 


Y voila, ya quedó milagrosamente rescatado nuestro MDF sin necesidad de contar con el LDF respectivo. Josué ya puede estar más tranquilo al respecto y tener más cuidado para la próxima vez que ocurra esto en su organización (que esperemos y jamás vuelva a suceder).


Actualmente calificado con 5.0 por 3 personas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Preparando Windows Server 2008 para Exchange Server 2007 SP1

marzo 8, 2008 17:44 by cesar

Hace unos días, me di a la tarea de explorar un poco las novedades que incluye el nuevo sistema operativo para servidores de Microsoft, el Windows Server 2008, y para ello, quise instalar Microsoft Exchange 2007 en él, pero mi sorpresa fue el ver que, dados los cambios realizados al sistema operativo respecto a Windows Server 2003, algunos pasos habían cambiado y se tenían que realizar otras labores, es por ello, que escribo esta pequeña guía, para orientar a las personas que quieran instalar Exchange...comencemos!!!! 

Antes que nada, estos pasos están basados en una Instalación completa (Full Instalation) de una versión de Windows Server 2008 ( Ya sea standard o Enterprise, en datacenter no lo he probado) y en una instalación limpia del mismo.

Primero, necesitaremos añadir a nuestro servidor algunos roles y subroles necesarios para la ejecución de Exchange, y esto lo haremos por medio de la consola Server Manager o el Initial Configuration Tasks , con el comando Add Roles(Añadir Roles):

Seleccionaremos primero un rol, y despúes nos pedirá seleccionar algunos subroles opcionales para poder completar el proceso correctamente, asi que les dejo la estructura de que roles y subroles elegir:

NOTA: Por defecto, algunos subroles aparecen ya seleccionados, así déjalos, simplemente comprueba que los siguientes roles y subroles estén habilitados

(ROL) Web Server (IIS)

        (SUBROL) ISAPI Extensions

        (SUBROL) II6 Metabase Compatibility

        (SUBROL) II6 Management Console

        (SUBROL) Basic Authentication

        (SUBROL) Digest Authentication

        (SUBROL) Windows Authentication

(ROL) Application Server

         (Deja seleccionados los subroles preterminados)

Después de esto, hay que habilitar el Windows Powershell, esto se hace mediante el comando Add Feature, ubicado también en la Consola Server Manager o Initial Configuration Tasks.

Una vez realizado esto, tendremos que configurar nuestro adaptador de red, para ello, nos vamos a las propiedades del adaptador y establecemos las direcciones como fijas, tanto del protocolo IPv4 como del IPv6(Si no tienes un servidor de direcciones IPv6, simplemente desactiva la función)

Bien, ahora, necesitamos habilitar el Active Directory y agregar el server a un dominio, esto lo hacemos de la siguiente forma:

  1. En el menú Inicio, seleccionamos el comando RUN(Ejecutar) y escribimos dcpromo y damos enter 
  2. Esperamos a que se carguen los archivos necesarios y aparecerá una pantalla, verificamos que la Opción "Use Advanced Mode Instalation" este deshabilitada y damos click en Next
  3. Aparecerá un mensaje de advertencia acerca de los controladores de dominio en Windows Server 2008, pulsamos en Next
  4. Seleccionamos la opción "Create a new domain in a new forest" y pulsamos Next
  5. Ahora nos pedirá que ingresemos un "Full Qualified Domain Name"(FQDN) el cual será el nombre del dominio y del forest, recomiendo que después del nombre elegido añadas .local (ejem. company.local) y pulsamos siguiente para comprobar que no existe ese dominio dentro de la red.
  6. Ahora nos pedirá que seleccionemos el nivel funcional del forest, el cual está de forma predeterminada en Windows Server 2000, en este caso seleccionaremos el nivel funcional de Windows Server 2008 (ya que estamos creando el dominio y el forest, pero si piensas agregar algún otro server al dominio cuyo sistema operativo sea anterior, selecciona entonces la opción que más te convenga, Windows Server 2000 o 2003). Pulsamos Next
  7. Ahora, en la siguiente ventana, nos aseguramos de que la opción "DNS Server" esté habilitada y damos click en Next.
  8. Nos aparecerá un mensaje de advertencia acerca de la delegación de DNS para poder resolver direcciones fuera del dominio, simplemente hacemos click en YES y continuamos.
  9. En la siguiente pantalla, nos pedirá una contraseña para el modo de restauración de active directory, ingresamos la contraseña deseada y continuamos.
  10. Aparecerá el resumen de las tareas a realizar, si deseas exportar la lista, hay un botón dedicado a ello, para comenzar el proceso de creación pulsamos siguiente.

Y listo, tardará algunos minutos en procesar los cambios y cuando termine, simplemente reiniciamos y al iniciar sesión, podremos ver que ahora nos aparece el nombre completo de Usuario, es decir DOMINIO\usuario.

Y eso es todo lo necesario para instalar Exchange Server 2007 SP1 en Windows Server 2008

Espero les haya sido de utilidad esta pequeña guía, y disculpen si no añadí capturas de pantalla, ya que no tengo el sistema operativo instalado Cry

Cualquier duda o comentario será bienvenido, pueden hacerlo por este medio o por correo: cesarivan@live.com y recuerden visitar http://www.barreteros.net , la Comunidad IT y de desarrollo del Estado de Zacatecas.

au revoir


Actualmente calificado con 5.0 por 1 personas

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Días difíciles se acercan... para nosotros los Administradores de Red(BOFH) .. y lo que deberíamos hacer al respecto

febrero 9, 2008 08:57 by ddaz

No quiero ser Pesimista...., ya casi todos saben que salió  el Service Pack 3 de Windows XP,  Service Pack 1 de Windows Vista ... ( aun no en nuestro idioma )  gran alegría en muchos lados,  más la desconfianza en otros, pero cuantos se han puesto a Pensar en los tan sufridos Administradores de red (BOFH)...  y los problemas que les causara esto?.

No digo que estén mal los Service Pack o las nuevas versiones .., pero algo que ocurre siempre  que sale algo nuevo es que el internet se  satura a nivel mundial.... ya que muchas personas se ponen a descargarlo... eso trae problemas siempre... los usuarios normales se quejan por que su pagina X  se demora mas en cargar... y piensan que de todo nosotros tenemos la culpa...

Algo que es muy recomendable ( en la mayoría de veces.. no en todas ) es dejas las actualizaciones automáticas en automático.. así se instalaran siempre sin tener que hacernos tantos líos... el problema viene cuando sale un Service Pack, ya sea de Windows, Office..o demás...

Cuanto Pesa el Service pack de Vista?, cuanto el de Windows XP..?   lo suficiente para poner mal una red que no este bien administrada....

Lo Lógico y correcto es  que en nuestra red  tengamos un WSUS u otro que controle las actualizaciones de Windows de la red...  "PERO!!!" ..... ( si como siempre el Ddaz y sus malditos peros..) , la realidad es que no todas las redes tienen un WSUS ( gratuito ) o la versión pagada...    cuando hago  auditoria a alguna red, casi siempre empiezo con la pregunta : 

¿Tienes instalado el WSUS? ..... y algunas de las respuestas que obtuve fueron.....

  1. Silencio... ( no dijeron nada pero su expresión era de "JUAT!!!???", entiendase por desconocimiento.. )
  2. "NO, La Empresa no Tiene Dinero Suficiente para desperdiciar una pc solo para eso" ( en muchos de estos casos  la persona que dice esto tiene una workstation muy potente...  que sirve para ver sus películas bajadas de la www... o peor aun su "servidor"  tiene instalado el emule, Ares, LimeWire o  algún otro programa de P2P )
  3. "NO, Eso no ayuda.. además solo trae los parches de Windows... "  ( en este caso hubiera preferido el "juat!?")
  4. "Tengo demasiado Trabajo... no puedo perder el tiempo en eso..." ( Si supiera que muchos de sus problemas se resolverían  teniendo su laboratorio de pruebas, y lógicamente el WSUS... )
  5. "SI, tengo....el Instalador... pero no se donde lo deje.. luego lo instalo..." ( pueda ser que estaba mintiendo, solo para excusarse... o que realmente lo haya bajado con la intención de instalarlo y se le olvido... y casi seguro que se le vuelve a olvidar.. )
  6. "SI lo tengo, ya Instale el Servidor de WSUS hace como medio año.... solo que no e tenido tiempo de configurar a los clientes..." ( como diría mi mama.. "al menos tuvo la intención"... pero.. un trabajo sin terminar es lo mismo que un trabajo no realizado... de nada sirve si no terminamos lo que empezamos.. )
  7. "Si lo tenia, pero lo tuve que quitar ... " ( en muy pocos casos esto es cierto... la mayoría de veces..  es una simple excusa... ya que o no saben lo que es  o no supieron como o simplemente no les dio la gana... pero no querían dar la impresión de ser "Mensos" frente a quien los audita) .
  8. "Si, lo tengo instalado, aunque e tenido algunos problemas con algunos equipos" ( quien me dijo esto ya obtuvo toda mi atención...  y lógicamente le ayudo a solucionar sus problemas con muchas ganas.. - es que hay redes que cuando uno va y las ve,  no sabe si reír o llorar..- )
  9. "Si, lo tengo instalado, configurado y me funciona  de maravilla"  ( los que me conocen saben que soy una persona  que  difícilmente se le ve riendose...,  y no me refiero a burla...- por que si soy algo burlón-  sino a una sonrisa real..., en estos pocos casos .... suelo hasta sonreír y pienso "Dios Existe!!")

Lamentablemente no con todas las personas  que me encuentro y están encargadas de una red, podría llamarles "Administradores"... de causas y problemas lo tocare en otro post...

Supongamos que realmente la empresa es muy pequeña, o es un cyber,  o simplemente en nuestra casa....  debemos poner en automático y poner que windowsupdate descargue e instale el Service pack, ya sea del windows xp o del Vista...... lo que yo les diría ( y aclaro eso.. que es mi opinión personal )  ... es que "NO!!!, NO DEJEN QUE WindowsUpdate Descargue e intale el Service pack de windows u office o lo que sea..",  si.. ya se que dirán pero por que?? allí les van algunos  mis motivos.

Si Eres Administrador de RED (No Usas WSUS) :

  • (ANCHO de BANDA )Todas tus PC's comenzaran a descargar cientos de Megas  de la Web de Microsoft casi en simultáneo, haciendo que tus peores pesadillas se vuelvan realidad... donde ni google podras abrir...

Si Eres Administrador de RED ( y si tienes WSUS)

  • ( CONTROL ) Una de los motivos de que WSUS funcione de proxy de actualizaciones, es que tengas el poder de aprobar  las actualizaciones de tu red....¿ por que ?, en el siguiente punto lo detallo.

Si Eres Administrador de RED ( con o sin WSUS)

  • (Funcionalidad ) Algo que es muy común con las actualizaciones ( por eso se creo WSUS) es que muchas veces un parche arreglaba algo... pero malograba otra cosa... y curiosamente en algunos casos esa cosa que se malograba... tenia que ver con el trabajo de la red que teníamos... ya sea un service pack, un driver, algo como el Internet Explorer 7 ( un ejemplo... la pagina web del banco que uso no soporta IE7 ... y como vista usa IE7 cada vez que quiero entrar al banco tengo que usar una pc virtual con win xp e ie6... como el banco es de Peru.. la única forma de interactuar con mi cuenta es por internet ya que estoy en México ) , asi que por eso antes de instalar un parche o Service Pack... tenemos que hacer simulaciones  y probar que al instalarlo no  dejara de funcionar algún sistema o en general el modo de trabajo de nuestra red; recien luego de probar todos los tipos de variables de nuestra red y ver si funciona en esos casos  recién deberíamos permitir a nuestra red poder instalar el Service pack ... ya sea con o sin WSUS  debemos de bloquear la Instalación  hasta que hayamos hechos las pruebas... si no tenemos pcs, podemos usar máquinas virtuales, pero hagan pruebas..... Por si piensen que para eso existió el Beta de SP... les diria.. no todos entran al Beta... y aunque duela decirlo ( soy beta tester de ms y en algunos casos alpha)  muchas veces el producto RTM tiene mas problemas que la versión Beta o RC :(.

Si Eres Administrador de RED Sin WSUS, una persona que no es el administrador o un Usuario Común y silvestre  de casa:

  • (Ahorro de tiempo) Siempre nos pasa que por X o Y motivo tenemos que formatear... nuestra PC  o quizá la de alguien mas... y luego de hacer la instalación a bajar todos los parches... y mas tiempo nos demora instalar los parches y SP que la misma instalación... por eso  lo mejor es que bajemos el "Redistribuible Package" del Service Pack, lo grabemos en un CD  o DVD ( en el caso de vista seria un DVD para el SP, si no me equivoco)  y asi para la siguiente vez que tengamos que formatear nuestra pc o la de alguien mas... nos ahorraremos el tiempo de descarga de la pc..

"Si pero como bloqueo la Instalación del Service Pack ???? "

Para estos casos Microsoft comenzó a publicar "bloqueadores de Service pack's", los cuales no siempre son conocidos por todos.... pero es algo que ya deberíamos todos tener instalados en nuestras pcs :)

la Herramienta en cuestión es el: Windows Service Pack Blocker Tool Kit , lo pueden bajar de : http://www.microsoft.com/downloads/details.aspx?FamilyID=d7c9a07a-5267-4bd6-87d0-e2a72099edb7&DisplayLang=en  , con esto bloquearemos la instalación automática de Service Packs , si no tenemos el WSUS ya sea en casa o trabajo...( por que en el WSUS uno debería de ir aprobando las actualizaciones una a una ) .

Si, Ya se que me extendí demasiado... ( como diría FER. ..."NO se por que no me sorprende" )  en esta vez quisiera que pregunten ustedes ( suponiendo que no son los que administran la red donde trabajan..., o quizá a algún administrador de red  que conozcan )  "¿Tienes Instalado el WSUS?" y ustedes mismos vean las respuestas que les dan, ojalá y sea un "si  y lo tengo funcionando"

lo recalco por ultima vez... ya sea que sean Administradores de Red,  o no ... les aconsejo que se bajen el instalador FULL y lo graben en un CD, mejor aun si pueden luego juntar el Instalador del SO con el del SP y tengan un Instalador con el sp incluido... ( lógicamente los que tengan suscripción MSDN o TECHNET  no tendrán este problema ya que MS se los dará...) .

Y bueno creo que también debería dejar en claro que no estoy en contra de los Service Packs, ya que la idea de estos es que arreglen algunos problemas, y/o traigan funcionalidad nueva a nuestros SO, el fin de este post es ver unos cuantos vicios en la Administración de Redes con respecto a las actualizaciones.

Para mas Información del WSUS :  http://www.microsoft.com/spain/technet/seguridad/herramientas/wsus.mspx 

pdta: por si no entendieron lo de BOFH : Bastard Operator from Hell - Wikipedia, la enciclopedia libre 

Hasta la Próxima...

Salu2

Ddaz ( El Dacito )


Sea el primero en calificar este post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5