2 comentarios

Monitoreando SQL Server


Todo para monitorear tus instancias de SQL Server

Hola, pues para empezar vamos a ver una tarea basica que todo buen DBA debe tener en cuenta,

SQL SERVER nos ofrece diversas opciones para realizar la tarea de monitoreo a continuacion les muestro una recopilacion de scripts que en lo personal a mi me han ayudado:

  • Para monitorear el estado de los jobs que fallaron en su última ejecución:
    SELECT name FROM msdb.dbo.sysjobs A, msdb.dbo.sysjobservers B
    WHERE A.job_id = B.job_id AND B.last_run_outcome = 0

muy util si tienes jobs que realizen procesos que no tengas controlados por medio de notificaciones,

  • Espacio en cada disco para la instancia SQL:

EXEC master..xp_fixeddrives

No es necesario que entres al servidor donde tienes tu instancia para inspeccionar el espacio disponible puedes hacerlo con este script.

  • Para ver un listado de Jobs Deshabilitados:

SELECT name FROM msdb.dbo.sysjobs            WHERE enabled = 0 ORDER BY name

SI tu jefe te ha encargado la tarea de revisar que jobs estan fuera de linea, no mas trabajo manual haslo con este script.

  • Para ver un listado de los jobs que están actualmente en ejecución:


msdb.dbo.sp_get_composite_job_info           NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL

Magnifico script te permite revisar simultaneamente cuales son los jobs o trabajos que estan siendo ejecutados en tiempo real.

  • Para ver logines que son miembros de los roles de servidor:

SELECT ‘ServerRole’ = A.name, ‘MemberName’ =  B.name

FROM master.dbo.spt_values A, master.dbo.sysxlogins B

WHERE A.low = 0            AND A.type = ‘SRV’ AND B.srvid IS NULL

Te muestra que usuarios son miembros de algun rol a nivel servidor actualmente.

  • Para ver la última vez que las bases de datos fueron backupeadas:

SELECT  B.name as Database_Name,

ISNULL(STR(ABS(DATEDIFF(day,

GetDate(), MAX(Backup_finish_date)))), ‘NEVER’) as DaysSinceLastBackup,

ISNULL(Convert(char(10), MAX(backup_finish_date), 101), ‘NEVER’) as LastBackupDate

FROM master.dbo.sysdatabases B LEFT OUTER JOIN msdb.dbo.backupset A

ON A.database_name = B.name AND A.type = ‘D’ GROUP BY B.Name ORDER BY B.name

Investiga cuando fue la ultima vez que se realizo respaldo de tu base de datos.

  • Para leer las ultimas entradas del archivo de log (NO el transaction log):
    CREATE TABLE #Errors (vchMessage varchar(255), ID int) CREATE INDEX idx_msg ON #Errors(ID, vchMessage) INSERT #Errors EXEC xp_readerrorlog SELECT vchMessage FROM #Errors WHERE vchMessage NOT LIKE ‘%Log backed up%’ AND vchMessage NOT LIKE ‘%.TRN%’ AND vchMessage NOT LIKE ‘%Database backed up%’ AND vchMessage NOT LIKE ‘%.BAK%’ AND vchMessage NOT LIKE ‘%Run the RECONFIGURE%’ AND vchMessage NOT LIKE ‘%Copyright (c)%’ ORDER BY ID
    DROP TABLE #Errors

Fuente: http://sqldata.blogspot.com/2009/01/algunos-scripts-para-monitorear-sql.html

Espero que les sea de utilidad,  dejen sus comentarios.

Anuncios

2 comentarios el “Monitoreando SQL Server

  1. buena he gracias…

Si te sirvio o te gusto el post, deja un comentario, o vota por el blog, esto nos ayuda a seguir creciendo, Gracias

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: