settingsLogin | Registersettings
Es tu primera visita? Te invitamos a visitar nuestra sección de preguntas frecuentes FAQ!
x
Show Menu

DataRecovery 2.0 y vsphere 4.1

+1 voto
Mi pregunta esta relacionada con datarecovery 2.0, normalmente lo utilizamos como un backup añadido a los otros que tenemos, la cosa es que estamos contentos con su funcionamiento y lo tenemos programado para hacer varios backup de algunos file system y funciona muy bien, mi pregunta es saber como utilizar datarecovery hacia una maquina que tiene base de datos sql 2005, entiendo que debería de haber alguna manera de poder usar este procedimiento de datarecovery para hacer un backup consistente de una maquina con base de datos sql, mi pregunta es saber como hacer esto o como se la apañan para poder hacer un backup consistente.

Muchas gracias

Alberto
por (10 puntos)  

1 Respuesta

0 votos
Buenas tardes,

 

Podrías automatizar un backup desde el propio SQL Server a un File Server y no necesitás cambiar nada.

Podrías utilizar el comando osql para crear el backup y asignarle una carpeta.

http://metrix.fcny.org/wiki/display/dev/Using+OSQL+to+backup+and+restore+a+database

 

Saludos,
por (1.1k puntos)  
Ok, quiero probar lo que comentas del OSQL, pero no se si te entiendo bien, quieres decir que si se hace un backup de esta forma, es decir por linea de comandos, esto no va a parar la BD para hacer el backup ¿?, es decir yo se que si se hace un snapshop esto por narices necesita un tiempo de parada de la BD para poder hacerlo, pero no se si en este caso que me comentas, esto ocurre o no ocurre.
No, el comando osql no necesita detener el sql.
Pero entonces entiendo que hace una copia de la base de datos que será consistente ¿no? y una vez que haga este backup dices que podría recuperar o hacer un restore de la BD en otra maquina virtual o en la propia en el caso que la clonase ¿luego podría hacer un restore de esta BD?
Así es.  Yo uso el siguiente comando:
osql -U sa -P password -S servidor -Q "BACKUP DATABASE nombreDB TO DISK = '%TEMP%\nombredDB.BAK' WITH INIT"

Luego la podés restaurar, ya sea por osql o desde el GUI desde Management Studio Express

Saludos,
Pero entiendo entonces que este comando le puedo utilizar para mis bases de datos y que lo que hace es copiar la base de datos a otro sitio ¿no? que significa lo de TO DISK es la ruta a otro servidor de ficheros, tampoco entiendo que es el WITH INIT ¿esto lo tengo que poner y ya esta? o que significa. Me gustaria que me dijeses como sería estos comandos para una base de datos llamada prueba que quiero copiarlo en la unidad D de un servidor llamado servidor02,
Entiendo que puedo recuperarlo en cualquier servidor esta BD ¿no? solo tendría que tener el SQL instalado.
muchas gracias y un saludo
Bueno a ver si nos entendemos, creo que no me he explicado bien, tu me has recomendado hacer un backup con el comando osql y pasarlo a una carpeta, bien esta parte creo que no es necesaria en mi caso, ya que nosotros hacemos backup diaria del servidor a cinta, es decir backup incrementales y completos, con lo que por esta parte podría recuperar el backup de la base de datos.
Mi pregrunta es la siguiente: primero el servidor donde tengo el sql es un servidor virtual y nos gustaría poder tener una especie de clon de la maquina y luego si fuese necesario poder recuperar el backup correspondiente de la BD que queramos, pero el problema es que vmware o maquina virtual para hacer una clon o snapshot (cosa que hemos leido que no es muy recomendable en BD porque los indices se vuelven locos) si el clon o snapshot la BD se para hasta que termina de hacerlo y eso no podemos, ya que debe estar siempre en producción, entonces mi pregunta es esta como puedo conseguir llegar a tener esta maquina siempre en caso de que falle y por eso pensaba en Datarecovery pero creo que no se puede, o como me aconsejais que puedo hacer esto.
Yo creo que este problema viene a que al ser una maquina virtual y con sql las vmtools no son capaces de entender que no pare la BD o no se porque, pero por favor necesitaría poder conseguir avanzar en este tema, porque tengo estas maquina que son bastante criticas y el dia que fallen creo que se puede armar y por eso quiero encontrar una solución a este tema.

No se si a lo mejor se hiciese un clon de la maquina, logicamente parando la maquina o en caliente no se, y luego arrancando esta maquina y haciendo un borrado de los table spaces por ejemplo y luego haciendo una recuperación de nuestras cintas de backups de la BD esto funcionaría bien o no.

Un saludo y muchas gracias
Alberto
Ahora tengo que salir por 2 horas, cuando vuelva te respondo.
Buenas noches,

El parámetro 'TO DISK' determina la ubicación de destino.  El parámetro 'WITH INIT' te permite sobreescribir el mismo archivo sin que se te haga acumulativo.  Por ejemplo, si ejecutás el comando y lo guardas en DB.SQL por defecto se va acumulando las bases. Si la base pesa 10mb, al ejecutarlo una vez pesará 10, 2 veces, 20mb, 3 veces, 30mb.  Con esta opción, siempre vas a tener el tamaño real de la base de datos.


osql -U sa -P password -S servidor -Q "BACKUP DATABASE prueba TO DISK = '\\SERVIDOR02\CARPETA\prueba.BAK' WITH INIT"


Donde:

sa es el usuario administrador del sql
password es la contraseña del usuario sa
servidor es el nombre de computadora del servidor sql
prueba es el nombre de la base de datos
SERVIDOR02 es el nombre de tu servidor
CARPETA es el nombre del recurso compartido
prueba.BAK es el archivo de destino

Deberías compartir la carpeta 'CARPETA', desde luego o si el script lo corrés con derechos de administrador, podrías reemplazarlo por '\\SERVIDOR02\D$\prueba.BAK'

Una vez que tienes esa backup .BAK, lo podés restaurar en otro SQL o en el mismo.



Si tenés otra VM con el SQL Server ya instalado y configurado, el día que se te caiga el servidor, restaurás la DB y listo!  Te sugiero que hagás backups diarios (o 2 veces por día), según el movimiento que tenga la base y el tamaño y la criticidad.

Si querés tener 2 servidores SQL que se estén replicando entre si, ya deberías buscar por el lado de clustering en SQL Server.  No creo que la versión Standard te lo deje hacer.



Resumiendo (lo que yo haría)

1. Programar backups diarios (1 o 2 veces por día)
2. Tener otra VM con el SQL Server ya instalado y configurado.

Si el día de mañana, el servidor SQL muere podrías:
1. Volver a un snapshot anterior y restaurar el último backup que tengas.
2. Restaurar el último backup, en la VM de contingencia.

Obviamente, siempre va a haber algo que vas a perder.

Solución posta posta, sería el clustering en SQL Server, pero a menos que un entorno lo amerite, yo optaría por lo que te he comentado.

Cualquier duda, me avisas!

Saludos,
Ok, pero no me sirve porque la situacion a resolver es la comentaba antes, pero lo que pasa que ha salido como usuario anonimo pero soy Alberto, la vuelvo a copiar:

Bueno a ver si nos entendemos, creo que no me he explicado bien, tu me has recomendado hacer un backup con el comando osql y pasarlo a una carpeta, bien esta parte creo que no es necesaria en mi caso, ya que nosotros hacemos backup diaria del servidor a cinta, es decir backup incrementales y completos, con lo que por esta parte podría recuperar el backup de la base de datos.
Mi pregrunta es la siguiente: primero el servidor donde tengo el sql es un servidor virtual y nos gustaría poder tener una especie de clon de la maquina y luego si fuese necesario poder recuperar el backup correspondiente de la BD que queramos, pero el problema es que vmware o maquina virtual para hacer una clon o snapshot (cosa que hemos leido que no es muy recomendable en BD porque los indices se vuelven locos) si el clon o snapshot la BD se para hasta que termina de hacerlo y eso no podemos, ya que debe estar siempre en producción, entonces mi pregunta es esta como puedo conseguir llegar a tener esta maquina siempre en caso de que falle y por eso pensaba en Datarecovery pero creo que no se puede, o como me aconsejais que puedo hacer esto.
Yo creo que este problema viene a que al ser una maquina virtual y con sql las vmtools no son capaces de entender que no pare la BD o no se porque, pero por favor necesitaría poder conseguir avanzar en este tema, porque tengo estas maquina que son bastante criticas y el dia que fallen creo que se puede armar y por eso quiero encontrar una solución a este tema.

No se si a lo mejor se hiciese un clon de la maquina, logicamente parando la maquina o en caliente no se, y luego arrancando esta maquina y haciendo un borrado de los table spaces por ejemplo y luego haciendo una recuperación de nuestras cintas de backups de la BD esto funcionaría bien o no.

Un saludo y muchas gracias
Alberto
Si, ya había leído ese comentario.  Pero pq me dices que no te serviría?
Porque la situación que tu me cuentas ya la tengo y no me soluciona el problema, es decir tu dices:
1. Programar backups diarios (1 o 2 veces por día)
Esta parte ya la tenemos porque hacemos backup diario a cinta de la base de datos es decir 2 full en fin de semana y lugo incrementales entre semana.
2. Tener otra VM con el SQL Server ya instalado y configurado.
Esto me serviría si fuese un clon de la maquina que actualmente tiene las BD ya que como sabes una maquina cualquiera VM con SQL server no sería suficiente, ya que sabes que estaa maquina originales tienen distintos usuarios configurados tanto en windows como en el sql y si no tengo estas opciones en la nueva maquina entiendo que el restore no funcionaría ¿no?, por eso te sigo que a lo mejor la solución sería solo clonando para que coja usuarios de windows y de sql y de esta forma la recuperación sería mas rápida haciendo el restore del último backup de la BD
No se a lo mejor yo estoy equivocado, si es asi, por favor corrigeme y describeme como harías tu una rápida recuperación del servidor critico de sql que tenemos, con la recuperación de la ultima backup de la BD oportuna, entiendo que la manera sería crear un clon pero el clon tiene el problema que tenemos que parar la BD, a lo mejor se me escapan conocimientos de BD y me estoy liando, si es asi por favor corrigeme.

Un saludo
Alberto
¿Y no podés dejar clonando la VM en horario no productivo o durante el fin de semana?
Entonces la unica manera es la que pensaba, clonar en alguna momento la maquina y una vez que la clonase (que si que a lo mejor podría) ya podría tener la recuperación segura de cualquier backup, tu me lo confirmas que el restore funcionaría, o funcionaria también el una maquina nueva con solo el sql instalado, es decir no habría problemas con lo que comentaba de los usuarios de la maquina o del sql, me lo confirmas si lo has probado alguna vez

Muchas gracias
Alberto
El backup que generes (hagas con que lo hagas) te va a servir para restaurarlo tanto en el servidor clonado como en uno nuevo.

Podrías clonar ese servidor tanto desde VMware o podrías utilizar VMware vCenter Converter Standalone.  Luego mantené ese servidor de contingencia apagado para que no se choquen los nombres ni las ips.

Más allá de tener un buen plan de contingencia, busca la forma de evitar que se caiga, por ejemplo, con discos, fuentes, mother, micros redundantes en la medida que puedas.

Saludos,
Perdona pero ya tengo mirado lo de los discos etc, naturalmente, pero también tengo que tener un plan de contingencia y por eso es por lo que pregunto, perdona pero como no tengo este conocimiento por eso estoy insistiendo tanto:

Entonces dices en una maquina nueva también se restaura el backup, pero si la maquina no tiene ni usuarios de sql creados si de windows, ¿esto los crea automaticamente? o hay que crearlo a mano. Es decir que automaticamente se restaura la BD y ya se queda como estaba la otra maquina, con lo perfiles y usuarios creados de BD ¿si o no?
Desde este link, puedes ver como respaldar los security logins
http://msdn.microsoft.com/en-us/library/ee406927%28v=bts.10%29.aspx

¿Se suelen crear credenciales nuevas en forma regular?
Te paso otra KB interesante:
http://support.microsoft.com/kb/246133
...