Transaction Log

06/10/2008 - 12:11 por Carlos Campos | Informe spam
Hola,

Primero de todo, decir que soy "newbie" (novato) en la administacion de SQL
Server.. a nivel de Windows si que controlo.. pero esto es una nueva
andanza..

Mi problema es que no entiendo el Transaction Log.. sobretodo cuando hay
problemas (xD).. el caso es que me encuentro que un servidor que tiene 32 Gb
en un disco para los logs del SQL Server, este domingo a las 3:05 de la
mañana se ha llenado completamente.. pero a las 7:00 se ha vaciado y ahora
mismo quedan 28 Gb..

El jefe de programación se ha quejado de que se ha quedado sin espacio en
logs y que ampliamos.. pero claro mi jefe (que es de sistemas.. ) dice que a
ver si sobran 28 Gb libres deberia de funcionar todo OK.. y yo estoy hecho
un lio.. no se si tengo que ampliar.. no se que se guarda en el log y porque
se llena a piñon y luego se queda vacio.. he mirado un libro de admin de sql
server pero no me queda nada claro..

Podeis ayudarme???

Gracias por adelantado

Preguntas similare

Leer las respuestas

#6 Carlos Campos
07/10/2008 - 08:11 | Informe spam
Hola primeramente gracias a por contestar tan rapido,

El servidor del que hablo en este caso lleva varias 47 BDs, de las cuales 35
estan en modo FULL y 12 en modo Simple.

El Backup de las BDs se compone de las siguiente forma:
Mediante un software de IBM (TDP for SQL), se hace un backup del log cada
hora y se realiza el truncate de dicho log. Diaramente se realiza, con el
mismo software, un backup full de las BDs (aqui no hay nada de truncate).

Y en el fin de semana tengo programado unos jobs de SQL Server para que me
hagan un backup full de las BDs, con el siguiente comando.
BACKUP DATABASE [BD] TO DISK = N'C:\mssql\backup\bk_BD.BAK' WITH NOFORMAT,
INIT, NAME =N'BackupBDFUll', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
declare @backupSetId as int select @backupSetId = position from
msdb..backupset where database_name=N'BD' and backup_set_id=(select
max(backup_set_id) from msdb..backupset where database_name=N'BD'); if
@backupSetId is null begin raiserror(N'Verify failed. Backup information for
database BD not found.', 16, 1) end; RESTORE VERIFYONLY FROM DISK
=N'C:\mssql\backup\bk_BD.BAK' WITH FILE = @backupSetId, NOUNLOAD,
NOREWIND

Salu2 y Gracias por adelantada


"Alejandro Mesa" escribió en el
mensaje news:
Carlos Campos,

Lo primero seria que nos dijeras que modelo de recuperacion usa(n) tu(s)
tus
bases de datos.

En log de transacciones se guarda todo cambio realizado sobre una base de
datos, insert, delete, update, etc. No se guarda las sentencias select ni
la
data que ellas seleccionan. Dependiendo de el modo de recuperacion que usa
la
db, hay sentencias como "bulk insert" de las que se guarda menos
informacio0n
que si usas modo "full".

Si por casualidad usas modo "Full", es importante que tengas un plan de
backup, puesto que mientras no hagas backup de el log de transacciones,
entonces no se podran reutilizar los archivos virtuales de log y por tanto
se
necesitara incrementar el espacio en el archivo. Piensa en ello como una
lista circular, si el ultimo archivo virtual se llena, entonces si el que
inicia la lista esta vacio, entonces se reutilizara, pero si no, entonces
habra que añadir mas. Eso es lo que pasa cuando se hace un backup de el
log
de transacciones, las transacciones finalizadas se guardan en el backup y
se
reinicializan los archivos virtuales para que sean re-utilizados. Esta
operacion se conoce como truncar el log de transacciones, y no significa
que
se encoje, como otros pueden pensar.

Entonces, que modo de recuperacion esta usando tu db?

SELECT [name], DATABASEPROPERTYEX([name], 'Recovery')
FROM [master]..sysdatabases

SELECT [name], recovery_model, recovery_model_desc
FROM sys.databases


AMB

"Carlos Campos" wrote:

Primeramente gracias por Responder Martin

Basicamente el TL, guarda las instrucciones que se realizan, no?.. como
INSERT, UPDATE, etc.. Pero, guarda tambien las SELECT?.. y si es asi..
guarda los datos de la SELECT?..

Te pregunto esto para saber un poco como dimensionar los tamaños de los
HDs
de LOGS con el de datos.. me explico..

Tengo un HD de 90 Gb para Datos, y 32 Gb para LOGS.. en el datos, veo que
tengo una BD de unos 50Gb.. asi que entiendo que si el Log tambien guarda
los select me voy a quedar corto de espcio en seguida..

Estoy equivocado?

Gracias Adelantadas


"Martin de los Rios" <dlrmartin (@) hotmail.com> escribió en el mensaje
news:
> hola,
> el TL va creciendo con el uso. cuando haces un backup de TL este se
> trunca
> achicandose nuevamente.
> tambien puede achicarse manualmente luego de un backup full.
>
> Saludos,
>
> Martin de los Rios
> MCSE (Win 2000 - Win 2003)
> MCSA (Win 2003)
> MCDBA (SQL 2000)
> MCTS (SQL 2005 - Windows Hosting)
> MCITP (SQL 2005)
> MCT (2006-2008)
>
> Mendoza - Argentina
>
>
> "Carlos Campos" wrote:
>
>> Hola,
>>
>> Primero de todo, decir que soy "newbie" (novato) en la administacion
>> de
>> SQL
>> Server.. a nivel de Windows si que controlo.. pero esto es una nueva
>> andanza..
>>
>> Mi problema es que no entiendo el Transaction Log.. sobretodo cuando
>> hay
>> problemas (xD).. el caso es que me encuentro que un servidor que tiene
>> 32
>> Gb
>> en un disco para los logs del SQL Server, este domingo a las 3:05 de
>> la
>> mañana se ha llenado completamente.. pero a las 7:00 se ha vaciado y
>> ahora
>> mismo quedan 28 Gb..
>>
>> El jefe de programación se ha quejado de que se ha quedado sin espacio
>> en
>> logs y que ampliamos.. pero claro mi jefe (que es de sistemas.. ) dice
>> que a
>> ver si sobran 28 Gb libres deberia de funcionar todo OK.. y yo estoy
>> hecho
>> un lio.. no se si tengo que ampliar.. no se que se guarda en el log y
>> porque
>> se llena a piñon y luego se queda vacio.. he mirado un libro de admin
>> de
>> sql
>> server pero no me queda nada claro..
>>
>> Podeis ayudarme???
>>
>> Gracias por adelantado
>>
>>
>>



Respuesta Responder a este mensaje
#7 Maxi Accotto
07/10/2008 - 13:40 | Informe spam
Hola Carlos, entonces quizas el backup por hora no sea suficiente, yo lo
haria mas seguido, quizas 15 min


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"Carlos Campos" escribió en el mensaje de
noticias:
Hola primeramente gracias a por contestar tan rapido,

El servidor del que hablo en este caso lleva varias 47 BDs, de las cuales
35 estan en modo FULL y 12 en modo Simple.

El Backup de las BDs se compone de las siguiente forma:
Mediante un software de IBM (TDP for SQL), se hace un backup del log cada
hora y se realiza el truncate de dicho log. Diaramente se realiza, con el
mismo software, un backup full de las BDs (aqui no hay nada de truncate).

Y en el fin de semana tengo programado unos jobs de SQL Server para que me
hagan un backup full de las BDs, con el siguiente comando.
BACKUP DATABASE [BD] TO DISK = N'C:\mssql\backup\bk_BD.BAK' WITH NOFORMAT,
INIT, NAME =N'BackupBDFUll', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
declare @backupSetId as int select @backupSetId = position from
msdb..backupset where database_name=N'BD' and backup_set_id=(select
max(backup_set_id) from msdb..backupset where database_name=N'BD'); if
@backupSetId is null begin raiserror(N'Verify failed. Backup information
for database BD not found.', 16, 1) end; RESTORE VERIFYONLY FROM DISK
=N'C:\mssql\backup\bk_BD.BAK' WITH FILE = @backupSetId, NOUNLOAD,
NOREWIND

Salu2 y Gracias por adelantada


"Alejandro Mesa" escribió en el
mensaje news:
Carlos Campos,

Lo primero seria que nos dijeras que modelo de recuperacion usa(n) tu(s)
tus
bases de datos.

En log de transacciones se guarda todo cambio realizado sobre una base de
datos, insert, delete, update, etc. No se guarda las sentencias select ni
la
data que ellas seleccionan. Dependiendo de el modo de recuperacion que
usa la
db, hay sentencias como "bulk insert" de las que se guarda menos
informacio0n
que si usas modo "full".

Si por casualidad usas modo "Full", es importante que tengas un plan de
backup, puesto que mientras no hagas backup de el log de transacciones,
entonces no se podran reutilizar los archivos virtuales de log y por
tanto se
necesitara incrementar el espacio en el archivo. Piensa en ello como una
lista circular, si el ultimo archivo virtual se llena, entonces si el que
inicia la lista esta vacio, entonces se reutilizara, pero si no, entonces
habra que añadir mas. Eso es lo que pasa cuando se hace un backup de el
log
de transacciones, las transacciones finalizadas se guardan en el backup y
se
reinicializan los archivos virtuales para que sean re-utilizados. Esta
operacion se conoce como truncar el log de transacciones, y no significa
que
se encoje, como otros pueden pensar.

Entonces, que modo de recuperacion esta usando tu db?

SELECT [name], DATABASEPROPERTYEX([name], 'Recovery')
FROM [master]..sysdatabases

SELECT [name], recovery_model, recovery_model_desc
FROM sys.databases


AMB

"Carlos Campos" wrote:

Primeramente gracias por Responder Martin

Basicamente el TL, guarda las instrucciones que se realizan, no?.. como
INSERT, UPDATE, etc.. Pero, guarda tambien las SELECT?.. y si es asi..
guarda los datos de la SELECT?..

Te pregunto esto para saber un poco como dimensionar los tamaños de los
HDs
de LOGS con el de datos.. me explico..

Tengo un HD de 90 Gb para Datos, y 32 Gb para LOGS.. en el datos, veo
que
tengo una BD de unos 50Gb.. asi que entiendo que si el Log tambien
guarda
los select me voy a quedar corto de espcio en seguida..

Estoy equivocado?

Gracias Adelantadas


"Martin de los Rios" <dlrmartin (@) hotmail.com> escribió en el mensaje
news:
> hola,
> el TL va creciendo con el uso. cuando haces un backup de TL este se
> trunca
> achicandose nuevamente.
> tambien puede achicarse manualmente luego de un backup full.
>
> Saludos,
>
> Martin de los Rios
> MCSE (Win 2000 - Win 2003)
> MCSA (Win 2003)
> MCDBA (SQL 2000)
> MCTS (SQL 2005 - Windows Hosting)
> MCITP (SQL 2005)
> MCT (2006-2008)
>
> Mendoza - Argentina
>
>
> "Carlos Campos" wrote:
>
>> Hola,
>>
>> Primero de todo, decir que soy "newbie" (novato) en la administacion
>> de
>> SQL
>> Server.. a nivel de Windows si que controlo.. pero esto es una nueva
>> andanza..
>>
>> Mi problema es que no entiendo el Transaction Log.. sobretodo cuando
>> hay
>> problemas (xD).. el caso es que me encuentro que un servidor que
>> tiene 32
>> Gb
>> en un disco para los logs del SQL Server, este domingo a las 3:05 de
>> la
>> mañana se ha llenado completamente.. pero a las 7:00 se ha vaciado y
>> ahora
>> mismo quedan 28 Gb..
>>
>> El jefe de programación se ha quejado de que se ha quedado sin
>> espacio en
>> logs y que ampliamos.. pero claro mi jefe (que es de sistemas.. )
>> dice
>> que a
>> ver si sobran 28 Gb libres deberia de funcionar todo OK.. y yo estoy
>> hecho
>> un lio.. no se si tengo que ampliar.. no se que se guarda en el log y
>> porque
>> se llena a piñon y luego se queda vacio.. he mirado un libro de admin
>> de
>> sql
>> server pero no me queda nada claro..
>>
>> Podeis ayudarme???
>>
>> Gracias por adelantado
>>
>>
>>









Respuesta Responder a este mensaje
#8 Alejandro Mesa
07/10/2008 - 15:01 | Informe spam
Carlos Campos,

Yo no estoy familiarizado con ese software que usas para hacer los backups.

se hace un backup del log cada
hora y se realiza el truncate de dicho log.



- A que le llamas tu truncar el log de transacciones?

- Que quieres decir con que se realiza el truncate de dicho log, algun
comando en especial que usa ese software para truncar el log de transacciones?


La informacion que nos das no es suficiente como para darte una sugerencia o
evaluacion de tu plan de respaldo de las dbs.

- Cual es el motivo por el que esas dbs usan modelo de recuperacion FULL?
- Cual es la frequencia de transacciones en cada db?
- En caso de poder recuperar el ultimo log de transacciones, cual es el
tiempo que tu comapnia esta dispuesta a perder de data?

AMB


"Carlos Campos" wrote:

Hola primeramente gracias a por contestar tan rapido,

El servidor del que hablo en este caso lleva varias 47 BDs, de las cuales 35
estan en modo FULL y 12 en modo Simple.

El Backup de las BDs se compone de las siguiente forma:
Mediante un software de IBM (TDP for SQL), se hace un backup del log cada
hora y se realiza el truncate de dicho log. Diaramente se realiza, con el
mismo software, un backup full de las BDs (aqui no hay nada de truncate).

Y en el fin de semana tengo programado unos jobs de SQL Server para que me
hagan un backup full de las BDs, con el siguiente comando.
BACKUP DATABASE [BD] TO DISK = N'C:\mssql\backup\bk_BD.BAK' WITH NOFORMAT,
INIT, NAME =N'BackupBDFUll', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
declare @backupSetId as int select @backupSetId = position from
msdb..backupset where database_name=N'BD' and backup_set_id=(select
max(backup_set_id) from msdb..backupset where database_name=N'BD'); if
@backupSetId is null begin raiserror(N'Verify failed. Backup information for
database BD not found.', 16, 1) end; RESTORE VERIFYONLY FROM DISK
=N'C:\mssql\backup\bk_BD.BAK' WITH FILE = @backupSetId, NOUNLOAD,
NOREWIND

Salu2 y Gracias por adelantada


"Alejandro Mesa" escribió en el
mensaje news:
> Carlos Campos,
>
> Lo primero seria que nos dijeras que modelo de recuperacion usa(n) tu(s)
> tus
> bases de datos.
>
> En log de transacciones se guarda todo cambio realizado sobre una base de
> datos, insert, delete, update, etc. No se guarda las sentencias select ni
> la
> data que ellas seleccionan. Dependiendo de el modo de recuperacion que usa
> la
> db, hay sentencias como "bulk insert" de las que se guarda menos
> informacio0n
> que si usas modo "full".
>
> Si por casualidad usas modo "Full", es importante que tengas un plan de
> backup, puesto que mientras no hagas backup de el log de transacciones,
> entonces no se podran reutilizar los archivos virtuales de log y por tanto
> se
> necesitara incrementar el espacio en el archivo. Piensa en ello como una
> lista circular, si el ultimo archivo virtual se llena, entonces si el que
> inicia la lista esta vacio, entonces se reutilizara, pero si no, entonces
> habra que añadir mas. Eso es lo que pasa cuando se hace un backup de el
> log
> de transacciones, las transacciones finalizadas se guardan en el backup y
> se
> reinicializan los archivos virtuales para que sean re-utilizados. Esta
> operacion se conoce como truncar el log de transacciones, y no significa
> que
> se encoje, como otros pueden pensar.
>
> Entonces, que modo de recuperacion esta usando tu db?
>
> SELECT [name], DATABASEPROPERTYEX([name], 'Recovery')
> FROM [master]..sysdatabases
>
> SELECT [name], recovery_model, recovery_model_desc
> FROM sys.databases
>
>
> AMB
>
> "Carlos Campos" wrote:
>
>> Primeramente gracias por Responder Martin
>>
>> Basicamente el TL, guarda las instrucciones que se realizan, no?.. como
>> INSERT, UPDATE, etc.. Pero, guarda tambien las SELECT?.. y si es asi..
>> guarda los datos de la SELECT?..
>>
>> Te pregunto esto para saber un poco como dimensionar los tamaños de los
>> HDs
>> de LOGS con el de datos.. me explico..
>>
>> Tengo un HD de 90 Gb para Datos, y 32 Gb para LOGS.. en el datos, veo que
>> tengo una BD de unos 50Gb.. asi que entiendo que si el Log tambien guarda
>> los select me voy a quedar corto de espcio en seguida..
>>
>> Estoy equivocado?
>>
>> Gracias Adelantadas
>>
>>
>> "Martin de los Rios" <dlrmartin (@) hotmail.com> escribió en el mensaje
>> news:
>> > hola,
>> > el TL va creciendo con el uso. cuando haces un backup de TL este se
>> > trunca
>> > achicandose nuevamente.
>> > tambien puede achicarse manualmente luego de un backup full.
>> >
>> > Saludos,
>> >
>> > Martin de los Rios
>> > MCSE (Win 2000 - Win 2003)
>> > MCSA (Win 2003)
>> > MCDBA (SQL 2000)
>> > MCTS (SQL 2005 - Windows Hosting)
>> > MCITP (SQL 2005)
>> > MCT (2006-2008)
>> >
>> > Mendoza - Argentina
>> >
>> >
>> > "Carlos Campos" wrote:
>> >
>> >> Hola,
>> >>
>> >> Primero de todo, decir que soy "newbie" (novato) en la administacion
>> >> de
>> >> SQL
>> >> Server.. a nivel de Windows si que controlo.. pero esto es una nueva
>> >> andanza..
>> >>
>> >> Mi problema es que no entiendo el Transaction Log.. sobretodo cuando
>> >> hay
>> >> problemas (xD).. el caso es que me encuentro que un servidor que tiene
>> >> 32
>> >> Gb
>> >> en un disco para los logs del SQL Server, este domingo a las 3:05 de
>> >> la
>> >> mañana se ha llenado completamente.. pero a las 7:00 se ha vaciado y
>> >> ahora
>> >> mismo quedan 28 Gb..
>> >>
>> >> El jefe de programación se ha quejado de que se ha quedado sin espacio
>> >> en
>> >> logs y que ampliamos.. pero claro mi jefe (que es de sistemas.. ) dice
>> >> que a
>> >> ver si sobran 28 Gb libres deberia de funcionar todo OK.. y yo estoy
>> >> hecho
>> >> un lio.. no se si tengo que ampliar.. no se que se guarda en el log y
>> >> porque
>> >> se llena a piñon y luego se queda vacio.. he mirado un libro de admin
>> >> de
>> >> sql
>> >> server pero no me queda nada claro..
>> >>
>> >> Podeis ayudarme???
>> >>
>> >> Gracias por adelantado
>> >>
>> >>
>> >>
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida