Una de Transaction Logs

28/07/2005 - 18:50 por Adrian | Informe spam
Hola Listeros!
Quisiera plantearles una duda con respecto al uso de los transaction logs, y
su uso para poder recuperar la información en caso de necesidad.
¿ Hay alguna forma de indicar que este log se aplique unicamente a un
conjunto de tablas ?
Les cuento porqué necesito esto:
La base de datos a la cual me refiero tiene tres "tipos" de tablas:

1.Tablas que no son actualizadas nunca (son de referencia)
2.Tablas que se actualizan diariamente
3.Tablas que almacenan "temporalmente" transacciones (son registros que son
creados y eliminados una vez procesados. De este tipo podrá haber más o
menos 15000 transacciones diarias)

Las tablas que realmente quiero poder tener resguardadas son las
correspondientes al tipo "2".
El problema es que cuando yo seteo el recovery mode a "full", todas las
actualizaciones son almacenadas en los transaction logs (incluso para
aquellos registros del grupo de tablas "3", los cuales no me interesa poder
recuperar: en caso de necesidad, puedo volver a generarlos nuevamente)

Estamos viendo varias alternativas, a saber:
-Dejar todo como está (desperdiciamos espacio en disco, y la performace se
ve afectada por el hecho de grabar toda esa información, sobre todo lo
referente a las transacciones del tipo "3");
-Usar replicación transaccional para las tablas que necesitamos guardar (las
del tipo "2"): prepararíamos una publicación en esta bd, y usaríamos otra
para recibirla; luego haríamos backups de esta otra bd;
-Usar paquetes DTS para exportar regularmente la información de las tablas;
luego haríamos backups de los archivos exportados.

Además, estaba viendo el uso de diferentes "filegroups". Si entiendo bien,
puedo tener más de un archivo físico asociado a la bd, y con esto, puedo
indicarle a SQL en que grupo está cada tabla. Mi idea es entonces colocar
todas las tablas que quiero tener resguardadas en un grupo diferente al
"PRIMARY"
Lo que no me queda claro es si haciendo de esta manera el uso del
transaction log va a cambiar en algo, porque no veo forma de indicarle que
tal grupo me interesa que lo tenga, y que tal otro no.

¿ Se les ocurre alguna otra forma de implementar lo que quiero hacer ?

Desde ya, les agradezco la ayuda / guia / consejo que puedan brindarme.
Saludos desde Bs.As.

Adrián


"Siempre estoy haciendo aquellas cosas que no puedo hacer,
quizás así pueda aprender cómo hacerlas."
- Pablo Picasso -

(Guía de buen uso del foro)
http://perso.wanadoo.es/rubenvigon/foro
 

Leer las respuestas

#1 Mauro
28/07/2005 - 19:07 | Informe spam
Me gusta la opcion de poner las tablas de los grupos 1 y 3 en distintos
filegroups y hacer backus separados de cada filegroup
si es posible tambien separa en un disco fisico distinto el log de la base ,
esto te mejora mucho la performance, es mas si podes separar
tambien los filegroups en discos fisicos diferentes mejor aun! y si son raid
mucho mejor.



"Adrian" wrote in message
news:%
Hola Listeros!
Quisiera plantearles una duda con respecto al uso de los transaction logs,


y
su uso para poder recuperar la información en caso de necesidad.
¿ Hay alguna forma de indicar que este log se aplique unicamente a un
conjunto de tablas ?
Les cuento porqué necesito esto:
La base de datos a la cual me refiero tiene tres "tipos" de tablas:

1.Tablas que no son actualizadas nunca (son de referencia)
2.Tablas que se actualizan diariamente
3.Tablas que almacenan "temporalmente" transacciones (son registros que


son
creados y eliminados una vez procesados. De este tipo podrá haber más o
menos 15000 transacciones diarias)

Las tablas que realmente quiero poder tener resguardadas son las
correspondientes al tipo "2".
El problema es que cuando yo seteo el recovery mode a "full", todas las
actualizaciones son almacenadas en los transaction logs (incluso para
aquellos registros del grupo de tablas "3", los cuales no me interesa


poder
recuperar: en caso de necesidad, puedo volver a generarlos nuevamente)

Estamos viendo varias alternativas, a saber:
-Dejar todo como está (desperdiciamos espacio en disco, y la performace se
ve afectada por el hecho de grabar toda esa información, sobre todo lo
referente a las transacciones del tipo "3");
-Usar replicación transaccional para las tablas que necesitamos guardar


(las
del tipo "2"): prepararíamos una publicación en esta bd, y usaríamos otra
para recibirla; luego haríamos backups de esta otra bd;
-Usar paquetes DTS para exportar regularmente la información de las


tablas;
luego haríamos backups de los archivos exportados.

Además, estaba viendo el uso de diferentes "filegroups". Si entiendo bien,
puedo tener más de un archivo físico asociado a la bd, y con esto, puedo
indicarle a SQL en que grupo está cada tabla. Mi idea es entonces colocar
todas las tablas que quiero tener resguardadas en un grupo diferente al
"PRIMARY"
Lo que no me queda claro es si haciendo de esta manera el uso del
transaction log va a cambiar en algo, porque no veo forma de indicarle que
tal grupo me interesa que lo tenga, y que tal otro no.

¿ Se les ocurre alguna otra forma de implementar lo que quiero hacer ?

Desde ya, les agradezco la ayuda / guia / consejo que puedan brindarme.
Saludos desde Bs.As.

Adrián


"Siempre estoy haciendo aquellas cosas que no puedo hacer,
quizás así pueda aprender cómo hacerlas."
- Pablo Picasso -

(Guía de buen uso del foro)
http://perso.wanadoo.es/rubenvigon/foro


Preguntas similares