Algunos Scripts para monitorear SQL Server

Posted on
  • miércoles, 7 de enero de 2009
  • by
  • Román
  • in
  • Etiquetas: , , ,
  • 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
    Espacio en cada disco para la instancia SQL:
    
    EXEC master..xp_fixeddrives
    Para ver un listado de Jobs Deshabilitados:
    SELECT name FROM msdb.dbo.sysjobs
               WHERE enabled = 0 ORDER BY name
    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
    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
    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
    
    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
    
    
    Espero sus comentarios, sugerencias, correcciones, etc y espero además
    que estos scripts les sean de utilidad.
    
    
    Hugo Román Bernachea
    Mail de contacto: SQLServer777@gmail.com

    Microsoft Certified DBA
    Microsoft Certified Trainer
    Twitter: @bernachea

    
    
    
    
    
    
    
    
    

    8 comentarios:

    admin dijo...

    Muy bueno el blog! Me ayudo bastante.
    Necesitaria saber como hacer para registrar lo que hace cada usuario en mi base (si borra, actualiza o modifica un registro y que registo o tabla o procedeimiento etc)
    Recien empiezo con sql asi que te agradeceria si me puedes dar una mano lo mas "paso a paso" posible.
    Utilizo sql server 2008 r2
    Muchas gracias!

    Lic. Sergio Aranda dijo...

    Perfect!!!

    Si no fuera por los blogs y recursos en internet que seria de Nosotros.....

    DANIEL dijo...

    excelente blog... me ayudo mucho en mi administración de mis bases...

    DANIEL dijo...

    Amigos ayuda...
    Algún script para crear obtener lo ocupado en HD de las bases, utilizado otros y libre en DH. para crear un reporte y monitorear en tiempo real del crecimiento de mis bases contra el espacio libre del HD.

    Anónimo dijo...

    10 puntos.

    Anónimo dijo...

    Btastante bueno, muchas gracias.

    Castillo dijo...

    Buena aportación!

    HOrtiz dijo...

    Muchas gracias.. me sirvio bastante

    Publicar un comentario