First Responder Kit
Job details
Name: |
First Responder Kit |
Platform: |
Sqlserver |
Category: |
Performance extension (Brent Ozar) |
Description: |
Checks if and where the procedures sp_BlitzBackups, sp_BlitzCache, sp_BlitzFirst, sp_BlitzIndex, sp_BlitzLock and sp_BlitzWho (related to Brent Ozar First Responder Kit scripts) are installed (Install-Core-Blitz-No-Query-Store.sql). |
Long description: |
Checks if and where the procedures sp_BlitzBackups, sp_BlitzCache, sp_BlitzFirst, sp_BlitzIndex, sp_BlitzLock and sp_BlitzWho (related to Brent Ozar First Responder Kit scripts) are installed. |
Version: |
2 |
Default schedule: |
0 * * * |
Requires engine install: |
Yes |
Compatibility tag: |
.[type=‘instance’ & databasetype=‘sqlserver’]/instance[maj_version > ‘2005′ & hasengine=‘YES’ & (engine_edition = ‘Microsoft SQL Server’ |
engine_edition = ‘Azure SQL Managed Instance’)] |
Parameters
Name |
Default value |
Description |
ignore databases |
model |
List of databases (separated by comma) which will be ignored. You can use % (percent sign) to represent wild card characters. |
return status when not installed |
0 |
Return status value (ALARM – 2, WARNING – 1, or OK – 0) when First Responder Kit procedures (related to Brent Ozars scripts) are not installed. |
return status when multiple installations |
1 |
Return status value (ALARM – 2, WARNING – 1, or OK – 0) when multiple First Responder Kit procedures are installed. |
Job Summary
- Purpose: The job is designed to check the installation and metadata details of specific SQL procedures, known as the Brent Ozar First Responder Kit procedures on MS SQL Server databases.
- Why: Monitoring the presence and version of these diagnostic procedures is important to ensure that the performance monitoring and troubleshooting tools are up to date and operational. This helps maintain optimal database performance and availability.
- Manual checking: You can manually check which Brent Ozar procedures are installed on a server database by executing the following SQL commands:
SELECT db_name, sch_name, obj_name, obj_type, create_date, version, version_date
FROM tab_inst_check_blitz
ORDER BY obj_name, create_date DESC;
Job Implementation Details
- The implementation includes creating a table “tab_inst_check_blitz” to store information about detected procedures from the Brent Ozar’s First Responder Kit such as “sp_BlitzCache”, “sp_BlitzFirst”, and others.
- It uses dynamic SQL statements and cursors to introspect database schemas for the presence of these procedures.
- The task includes error handling to update the monitoring status and provide information on failures or exceptions during execution.
Job Dependencies
- This job depends on having:
- A table to store installation checks results (“tab_inst_check_blitz”).
Parameters Overview
- There are several parameters intended to control the behavior of the job:
- “ignore databases” – A list of databases to exclude from the check.
Parameter Name |
Description |
ignore databases |
List of databases which will be ignored during the check, supports wildcards. |
return status when not installed |
Return status value when First Responder Kit procedures are not installed. |
return status when multiple installations |
Return status value when multiple installations of First Responder Kit procedures are found. |
Output Presentation
- The results are formatted in a table showing:
- The database name
- This output presentation can aid users in quickly understanding where and what versions of the Brent Ozar’s procedures are installed across different databases on the server.
Automated Monitoring and Alerts
- The job is set to run periodically (once every hour by default) to automatically detect changes or discrepancies in the installation status of the monitored SQL procedures.
- Alerts can be configured based on the job outcome to notify DBAs in case of missing installations or unexpected multiple installations of the procedures.
Upgrade and Maintenance
- All changes to the job or its components, like upgrading the procedure “proc_inst_check_blitz”, are tracked to ensure continuity and compatibility with database infrastructure changes over time.
- The job supports forced installation for maintaining strict compliance with the monitoring standards defined.
Conclusion
- This monitoring job is crucial for maintaining the health and performance of databases by ensuring critical diagnostic procedures are in place and correctly versioned. Automating such checks and presenting them in a clear, actionable format supports effective database administration practices.