Archivo

Entradas Etiquetadas ‘Sql Server’

Job de limpieza de Log de Transancciones

Lunes, 22 de septiembre de 2008 Sin comentarios

Por lo general el Log de transacciones siempre está creciendo cada cierto tiempo, dependiendo obviamente de si la BD es muy transaccional o no, es por eso que para evitar que el Log de transacciones crezca mucho y se llene el disco es mejor dejar programada una tarea que se encargue de esta labor, para esto se debe realizar lo siguiente:

1.- Detectar cual es el FileId del Log de Transacciones de la BD que deseamos automatizar. Para el ejemplo la bd se llama “BD_Amin”, para saber cual es el FileId es necesario ejecutar el comando desde el Query Analyzer

sp_helpdb BD_Amin

Lo que nos dará la siguiente salida:

Salida comando sp_helpdb

Observar que el campo “usage” indica el tipo de archivo que tiene cada base de datos, para nuestro ejemplo el tipo es “Log Only“, de aquí se obtiene el “FileId“, que será “2”

1.- Luego se debe crear un JOB desde el Sql Server Enterprise. En donde se debe tener en cuenta el “FileId” que se obtuvo en el punto 1.

El detalle del JOB será:

-- Shrink
use BD_Amin
go
checkpoint
go
dump tran BD_Amin with no_log
go
dbcc shrinkfile (2,0) --ldf

2.- Luego en la pestaña “Programaciones” se podrá ingresar la programación del JOB.-

3.- Por último revisar que en la pestaña “Notificaciones” se encuentre habilitado el campo “Escribir en el registro de sucesos de aplicación de Windows”, de esta manera podemos saber su historial.-

Saludos

Restaurar BD MSSQL en modo “SUSPECT”

Viernes, 29 de agosto de 2008 Sin comentarios

En estos simples pasos detallo como se puede corregir una base de datos en SQL Server que se encuentra en modo “SUSPECT” y por lo tanto no podemos acceder a ella.-

1.- Desde el SQL Query Analyzer, debemos ejecutar la query:

EXEC sp_detach_db 'BD_CON_PROBLEMAS', 'true'

Con esto “sacamos” la BD con problemas del entorno de administracion del SQL Server Enterprise manager.-

Sacar la BD del Enterprise manager de SQL Server

2.- Antes de ejecutar este paso, debemos saber cual es la ruta exacta de la BD y luego ejecutamos, con esto vamos a registrar la BD pero ahora estará OK

EXEC sp_attach_db @dbname = N'BD_CON_PROBLEMAS',
@filename1 = N'[UNIDAD]:[PATH]BD_CON_PROBLEMAS_data.mdf', --data
@filename2 = N'[UNIDAD]:[PATH]BD_CON_PROBLEMAS_log.ldf' --log

Registrar la BD que estaba con problemas

3.- Actualizamos la vista de las BD del Enterprise Manager y listo.-

BD ya corregida