Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Es posible un modo seguro de Transacciones en SQL

Estas en el tema de Es posible un modo seguro de Transacciones en SQL en el foro de SQL Server en Foros del Web. Hola a todos, tengo pregunta? Es posible en SQL SERVER tener un modo seguro de transacciones, como el que posee Oracle (Modo Archive Log), aunque ...
  #1 (permalink)  
Antiguo 11/09/2008, 21:23
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Información Es posible un modo seguro de Transacciones en SQL

Hola a todos, tengo pregunta?

Es posible en SQL SERVER tener un modo seguro de transacciones, como el que posee Oracle (Modo Archive Log), aunque sea haciendo una simulación de este, si es posible me gustaría saber como? y si no lo es, quiesiera saber si se me puede brindar la razón del porque no.

Gracias
  #2 (permalink)  
Antiguo 12/09/2008, 08:21
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Es posible un modo seguro de Transacciones en SQL

A que te refieres con "seguro"..

SQL Server es un motor de base de datos robusto y maneja adecuadamente el uso de transacciones...

Desconozco lo que mencionas de oracle, pero en sql tambien se cuenta con archivos log administrados por el motor de base de datos.


Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 13/09/2008, 09:56
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Es posible un modo seguro de Transacciones en SQL

Hola, con respecto a lo que menciono sobre el modo seguro de transacciones, es por ejemplo ORACLE permite activar el modo ARCHIVE LOG, lo que permite que la base de datos haga respaldos automáticos de los log files cada vez que se llenan, hay que recordar que ORACLE maneja de manera circular sus log files, entonces cuando este termina de llenar el último log, el comienza a llenar el primero de nuevo, cuando ocurre algún problema con la base de datos y se tiene que hacer una recuperación es posible disminuir casi al mínimo cualquier cualquier pérdida de transacciones, puesto se tienen los respaldos que se generaron de los logs a mano, estos pueden ser almacenados en lugar diferente al servidor y luego con cierta perioricidad pueden ser almacenados en otros dispositivos por cualquier eventualidad o por que la ley lo exiga. Lo quiero sabe es que si en SQL SERVER se tiene esta facilidad, según sé SQL Server no manerja bitácoras circulares y si hago un respaldo de los log por medio de un plan de mantenimiento esto no los va a borrar, además de que no quiero se los log crezcan porcentualmente o por una cantidad de megas cada vez que se llenan, lo que quiero saber es que si es posible que cada vez que el log se llene ahacer un respaldo, borrar su contenido y se vuelva a utilizar, creo que sería con un plan de mantenimiento, porque debe ser automático, pero no estoy seguro.
GRACIAS espero darme a entender
  #4 (permalink)  
Antiguo 13/09/2008, 15:20
 
Fecha de Ingreso: septiembre-2008
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Es posible un modo seguro de Transacciones en SQL

Yo también tengo la misma duda. Sé que en Oracle se puede activar el modo ARCHIVE para realizar respaldos automáticos cada vez que un log se llena, pero quiero saber si en SQL SERVER 2005 se puede realizar esto (o algo similar) y ¿cómo? si alguien me puede ayudar!!!
  #5 (permalink)  
Antiguo 13/09/2008, 17:30
Avatar de Valery-Net  
Fecha de Ingreso: agosto-2008
Mensajes: 694
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Es posible un modo seguro de Transacciones en SQL

En SQL Server tu le indicas como quieras que crezca el log si por porcentaje o por tu mañano predeterminado.
  #6 (permalink)  
Antiguo 13/09/2008, 17:35
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Es posible un modo seguro de Transacciones en SQL

Si eso lo sé, lo que quiero saber es si se emular el modo ARCHIVE LOG de ORACLE en SQL SERVER ya sea con JOBS o con algo similar
Gracias
  #7 (permalink)  
Antiguo 14/09/2008, 11:59
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Es posible un modo seguro de Transacciones en SQL

Hola Police,

La analogía de Archive Log en Sql Server es configurar el Recovery Model de la base de datos en Full, hacer un backup completo y posteriores backups del registro de transacciones (cada backup del registro es equivalente al archivado de los redo en Oracle). Todas estas tareas las puedes manejar desde el Agente de Sql Server de manera que te queda todo autocontenido dentro de la instancia.

Saludos
  #8 (permalink)  
Antiguo 14/09/2008, 21:13
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Es posible un modo seguro de Transacciones en SQL

Hola a todos

Despues de hacer una investigación en internet, a lo que llegue es la siguiente manera de simularlo, tengo dos propuestas:

1-Haciendo un job en el SQL AGENT, se crea este job con cierta perioricidad (en el Horario para que se ejecute) depende de la empresa o de las necesidades, luego lo que se hace es hacer un nuevo "STEP" y ahi se escribe el código en TRANSACT-SQL de ejemplo hice este, mi base se llama MVR:

USE MVR
CHECKPOINT

BACKUP LOG MVR TO DISK='C:\LOG.back'
BACKUP LOG MVR WITH TRUNCATE_ONLY

Según lo que he leido para poder truncar un LOG primero se debe hacer un CHECKPOINT en la base de datos para asegurar que las páginas en memoria pendientes de escribir en disco, se escriben en disco. Luego se hace un backup de los logs y se ubican en la dirección 'C:\LOG.back' y despues ya pueden ser truncados los logs, truncar permite liberar automáticamente el espacio en disco para su reutilización por el registro de transacciones, si desean leer un poco más de truncamiento revisen la siguiente página http://technet.microsoft.com/es-es/library/ms189085.aspx.
El problema que encontre al realizar esto es no me crea varios archivos parece que le cae encima al anterior o adjunta el nuevo contenido al archivo anterior, no encontre la forma de como hacer que le coloque un nombre con un número secuencial para tenerlos todos

La segunda opción que encontre fue hacer un plan de mantenimiento, que tambien es un job, al igual que lo anterior dentro del asistente le indico que sea en cierta dirección y que sólo respalde los logs y me genere un reporte. A continuación procedo a modificarlo de la siguiente manera:

USE MVR
CHECKPOINT

EXECUTE master.dbo.xp_sqlmaint N'-PlanID 8BA9F086-8621-4A32-A367-8D7603189856 -Rpt "C:\Users\Esteban\Desktop\Esteban6.txt" -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpLog "C:\Users\Esteban\Desktop" -CrBkSubDir -BkExt "TRN"'
BACKUP LOG MVR WITH TRUNCATE_ONLY

La única línea que genera el plan de mantenimiento es esta
EXECUTE master.dbo.xp_sqlmaint N'-PlanID 8BA9F086-8621-4A32-A367-8D7603189856 -Rpt "C:\Users\Esteban\Desktop\Esteban6.txt" -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpLog "C:\Users\Esteban\Desktop" -CrBkSubDir -BkExt "TRN"'

El resto lo adheri, ahora se puede hacer también que despues de truncar el archivo cambiarle el tamaño, por si ha crecido más de lo que se espera. Estas son mis dos soluciones, sé que del todo no emulan completamente al ARCHIVE LOG pero pueden ser un opción a utlizar si se necesita algo similar, resivo sugerencias.
Solo quiero aclarar que se supone que debería ser en SQL SERVER 2005 no lo tengo pero tengo entendido que el plan de mantemiento tiene la opción de truncado y para SQL SERVER 2005 el registro de transacciones se maneja de manera circular.

Muchas Gracias

Última edición por Police; 14/09/2008 a las 21:20
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:12.