Database Monitoring Agent
Prevent database outages and performance degradation before they impact users. Nodinite Database Monitoring Agent empowers DBAs, operations teams, and integration experts to detect and resolve SQL Server, Azure SQL Database, and PostgreSQL issues instantly—without SSMS, Azure portal, or elevated privileges.
Why Teams Choose This Agent
Database issues cascade quickly into business-critical failures—a missed backup means data loss risk, a blocked query freezes transactions, a failed SQL Agent job disrupts overnight batch processing, and runaway database growth crashes servers. Traditional monitoring approaches create operational bottlenecks:
- 🔍 Reactive Detection – DBAs discover failed backups, blocked queries, or full disks only after users report problems—wasting critical recovery time
- 🔐 Access Sprawl – Granting SSMS access or Azure SQL portal permissions to help desk and operations means handing out sysadmin or contributor roles—exposing sensitive data and audit compliance risks
- 🧩 Fragmented Tools – SQL Server alerts via Database Mail, Azure SQL metrics in Azure Monitor, custom scripts for PostgreSQL—no unified view, no correlation, constant context-switching
- ⏱️ Slow Troubleshooting – Support teams open tickets, wait for DBAs to investigate, manually start jobs or clear blocking—MTTR measured in hours, not minutes
- 💸 Manual Monitoring Overhead – DBAs spend time running daily health checks, reviewing job history, checking backup logs—repetitive work that should be automated
- 📊 No Business Context – Technical alerts say "job failed" but don't explain which integration, which customer, or which business process was impacted
The Nodinite Database Monitoring Agent solves this by providing unified monitoring, proactive alerting, and instant remote actions across SQL Server, Azure SQL Database, and PostgreSQL—with role-based delegation and full audit trails:
✅ Monitor SQL Server, Azure SQL, and PostgreSQL from one agent – On-premises, cloud, hybrid, cross-platform—no separate monitoring infrastructure per database type
✅ Detect problems before users complain – Failed backups, blocked queries, job failures, space warnings, SSIS package errors, custom TSQL health checks
✅ Fix issues instantly from your web browser – Start/stop SQL Agent jobs, kill blocking sessions, execute maintenance scripts—no SSMS or Azure portal required
✅ Delegate safely with role-based access – Let help desk start jobs, operations execute scripts, business users run custom queries—without granting sysadmin rights
✅ Customize monitoring with TSQL – Add any custom health check, business rule validation, or data quality query—the agent executes and alerts on results
✅ Visualize database health in real-time – Dashboard widgets for backup status, job success rates, space usage trends, blocking frequency
✅ Auto-discover databases across environments – As new databases deploy, the agent automatically detects and monitors them—dev, test, prod, DR sites
The Database Monitoring Agent connects to SQL Server on-premises, Azure SQL Database in the cloud, and PostgreSQL instances—providing unified database health monitoring across all platforms from a single agent installation.
Note
If you are monitoring BizTalk environments, the :BizTalk Agent: can also monitor the :BizTalk-MessageBox-Database: specifically for BizTalk-related metrics. Use the Database Monitoring Agent for general SQL Server health monitoring alongside the BizTalk Agent.

Example: Failed SQL backups, jobs, and blocking processes visualized in Nodinite Monitor Views—color-coded status indicators make issues instantly recognizable.
Documentation Tip: Use the Nodinite Repository Model to document all your databases and related metadata—ownership, SLAs, dependencies, and business purpose—creating a complete database inventory alongside monitoring.
Database Platform Coverage
The Database Monitoring Agent provides comprehensive monitoring capabilities across three major database platforms—each with distinct feature sets tailored to platform capabilities:
Database Platform | Monitoring Capabilities | Remote Actions | Key Features |
---|---|---|---|
SQL Server (On-Premises) | Backups · Blocking · Instance Health · SQL Agent Jobs · Size Checks · SSIS Packages · Custom TSQL Statements | Start/Stop Jobs · Kill Blocking Sessions · Execute Scripts · Clear History | Full-depth monitoring including backup history, job schedules, SSIS project tracking, deadlock detection |
Azure SQL Database | Size Checks · Custom TSQL Statements | Execute Scripts | Cloud-native monitoring for Azure SQL without Azure portal access; TSQL-based extensibility |
PostgreSQL | Custom SQL Statements | Execute Scripts | Multi-platform support for PostgreSQL instances with SQL-based monitoring and script execution |
Tip
Plug and Play! The Database Monitoring Agent requires no changes to existing database solutions—no triggers, no stored procedures, no application modifications. Simply configure the agent with database connection details and start monitoring immediately.
Developed in collaboration with a company specializing in 24/7 Microsoft SQL Server support, the Database Monitoring Agent delivers enterprise-grade capabilities, high performance, and proven reliability. Alongside the :BizTalk Agent:, it is one of our most popular and trusted monitoring solutions.
What You Can Do
🛡️ Prevent Data Loss with Backup Monitoring
Discover failed backups before disaster recovery scenarios. The agent monitors SQL Server backup history for Full, Differential, and Transaction Log backups—alerting when backups are overdue, missing, or failed.
- Backup History Tracking – View last backup date/time, backup type (Full/Diff/Log), and backup age in hours/days
- Overdue Backup Alerts – Configure thresholds per database (e.g., "alert if no full backup in 24 hours")
- Multiple Backup Strategies – Support for Ola Hallengren scripts, SQL Maintenance Plans, third-party backup tools (Veeam, Commvault, etc.)
- Per-Database Configuration – Set different thresholds for production (strict) vs. development (relaxed) databases
Example use case: Production database requires daily full backups and hourly transaction log backups. Agent alerts operations team when last full backup is >26 hours old or last log backup is >90 minutes old—triggering investigation before the backup window is missed.
🚦 Resolve SQL Blocking Without SSMS
Detect and resolve blocking chains that freeze transactions and cause application timeouts. The agent monitors SQL Server blocking processes in real-time—identifying which sessions block others, how long blocking has persisted, and the SQL text causing the block.
- Blocking Chain Visualization – See which SPID blocks which, multi-level blocking hierarchies, wait types
- Blocking Duration Alerts – Alert when blocking exceeds thresholds (e.g., "alert if blocking >5 minutes")
- Kill Blocking Sessions Remotely – Terminate blocking sessions from Nodinite web interface without SSMS access
- Historical Blocking Reports – Analyze blocking patterns over time to identify problematic queries or application behavior
Example use case: Overnight ETL process creates a long-running transaction that blocks user queries during business hours. Agent alerts after 2 minutes of blocking, operations reviews blocking chain in Nodinite Monitor View, kills the blocking session remotely—restoring application responsiveness in 30 seconds.
⚙️ Control SQL Agent Jobs Remotely
Manage SQL Server Agent jobs—start, stop, enable, disable—without opening SSMS or SQL Server Management Studio. Delegate job control to operations teams while maintaining full audit trails.
- Job Status Monitoring – View enabled/disabled state, last run outcome (success/failure/cancelled), last run date/time, next scheduled run
- Job Success Rate Tracking – Historical success percentage, failure trends over time
- Remote Job Actions – Start jobs on-demand, stop long-running jobs, enable/disable schedules
- Job History Access – Review job step outcomes, error messages, execution duration without SSMS
Example use case: Integration team asks operations to restart a failed nightly data import job. Operations user clicks "Start Job" in Nodinite (no SSMS required), job executes successfully, audit log records who restarted the job and when—no sysadmin rights needed.
📦 Track SSIS Package Health
Monitor SQL Server Integration Services (SSIS) package executions for both SSISDB catalog projects and legacy DTS/File System packages. Detect package failures immediately rather than discovering them when downstream processes fail.
- SSIS Package Execution Tracking – Monitor Integration Services Catalog (SSISDB) execution status, start/end times, error messages
- Per-Package Success Rates – Historical execution success percentage per package over time
- Master and Shared Projects – Full support for SSISDB project deployment model
- Failure Alerting – Immediate alerts when SSIS packages fail with error details and execution ID for troubleshooting
Example use case: Nightly SSIS package fails due to source file missing. Agent detects failure within seconds, alerts integration team with error message and execution ID. Team investigates using Nodinite (no SQL Server login needed), identifies missing file, corrects source location—re-runs package successfully before business hours.
💾 Monitor Disk Space Before Databases Fill
Prevent database and transaction log space issues before they cause application errors or database suspensions. The agent monitors database file sizes, used space, and free space for both data files and transaction logs.
- Data File and Log File Monitoring – Separate thresholds for data files (.mdf) and log files (.ldf)
- Percentage and MB Thresholds – Configure alerts based on percentage full (e.g., ">80%") or absolute size (e.g., "<10 GB free")
- Growth Trend Analysis – Visualize database growth over time to predict capacity needs
- Per-Database Thresholds – Different alert levels for mission-critical vs. less-critical databases
Example use case: Production database transaction log grows unexpectedly due to long-running transaction preventing log truncation. Agent alerts when log file reaches 75% capacity, DBA investigates and resolves blocking transaction, performs log backup to reclaim space—before log fills and suspends database.
🔍 Custom TSQL Monitoring for Business Logic
Go beyond infrastructure monitoring by executing custom TSQL queries to validate business rules, data quality, and application-specific health checks. If you can write a TSQL query, you can monitor it.
- Custom SQL Statements – Write any TSQL SELECT statement; agent executes on schedule and evaluates results
- Result-Based Alerting – Alert based on row count (e.g., ">100 overdue orders"), column values, or empty result sets
- Stored Procedure Execution – Call existing stored procedures that return health check data
- Multi-Database Queries – Execute cross-database queries to validate referential integrity or data synchronization
- Execute Script Remote Action – Manually trigger custom scripts (SELECT, INSERT, UPDATE, stored procedures) from Nodinite web interface
Example use cases:
- Query returns count of orders stuck in "Pending" status >24 hours—alert if count >10
- Stored procedure checks last ETL timestamp in control table—alert if >4 hours old
- Query validates customer replication between SQL Server and Azure SQL Database—alert if row counts differ
- Script library contains diagnostic queries (blocking, index fragmentation, wait stats)—operations runs on-demand without SQL access
Complete Feature Reference
The Database Monitoring Agent organizes Resources by SQL Categories—each category provides specific monitoring capabilities and remote actions. Current state is available in Monitor Views, alerts are distributed to end-users (email, ticketing systems), and metrics are accessible via dashboards, custom Reports (Power BI), or the REST-based Web API.
SQL Server Monitoring Categories
Category | Description | Actions Available |
---|---|---|
SQL Backups | Monitor backup history for Full, Differential, and Transaction Log backups; view last backup date/time and backup age | Edit Thresholds |
SQL Blocking | Track blocking processes, blocking chains, wait types, and SQL text causing blocks; historical blocking analysis | Kill Blocking Session · View History |
SQL Instance | General SQL Server instance information, version, edition, uptime, and instance logs | View Logs · View Instance Details |
SQL Jobs | Monitor SQL Agent jobs status, last run outcome, success rates, next scheduled run, job history | Start Job · Stop Job · Enable Job · Disable Job · View History |
SQL Size Checks | Monitor database size for data files and log files separately; track used space, free space, and growth trends | Edit Thresholds · View History |
SQL SSIS | Monitor SSIS package executions in SSISDB catalog; track Master and Shared projects, execution status, error messages | View Execution History · View Error Details |
SQL Statements | Execute custom TSQL queries on schedule; monitor business data, validate data quality, run stored procedures | Execute Script · Edit Query · View Results History |
Azure SQL Database Monitoring Categories
Category | Description | Actions Available |
---|---|---|
Azure Size Checks | Monitor Azure SQL Database storage utilization and growth trends | Edit Thresholds · View History |
Azure SQL Statements | Execute custom TSQL queries against Azure SQL Database; validate business rules and data quality | Execute Script · Edit Query · View Results History |
PostgreSQL Monitoring Categories
Category | Description | Actions Available |
---|---|---|
PostgreSQL SQL Statements | Execute custom SQL queries against PostgreSQL instances; monitor business data and validate health checks | Execute Script · Edit Query · View Results History |
Detailed Actions by Category
Using the self-service enabled Web Client for Nodinite, Remote Actions can be sent by the Database Monitoring Agent to perform operations on monitored Resources—without SSMS, Azure portal, or elevated privileges. With the existing privilege model, you can allow certain users to perform operations on hand-picked resources.
SQL Server Actions:
SQL Backups – Edit Thresholds
SQL Blocking – Details · Kill Blocking Session
SQL Instance – View SQL Log (Current) · Details
SQL Jobs – View Job History · Edit Thresholds · Start Job · Start Job at Step · Stop Job · Enable Job · Disable Job
SQL Size Checks – Edit Size Thresholds (Data and Log separately)
SQL SSIS – View SSIS Run History (individual packages/projects)
SQL Statements – Edit SQL Statements · Execute Script (Stored Procedures and AdHoc TSQL)
Azure SQL Database Actions:
Azure Size Checks – Edit Size Thresholds
Azure SQL Statements – Edit SQL Statements · Execute Script (Stored Procedures and AdHoc TSQL)
PostgreSQL Actions:
PostgreSQL SQL Statements – Edit SQL Statements · Execute Script (AdHoc SQL)
Supported Database Versions
Product | Supported Versions | Comment |
---|---|---|
SQL Server | 2008 R2, 2012, 2014, 2016, 2017, 2019 (version history) | All editions supported: Preview, Developer, Standard, Enterprise. Default and named instances both supported. |
SQL Express | 2008 R2, 2012, 2014, 2016, 2017 (version history) | Not all monitoring features available due to SQL Server Express limitations (e.g., no SQL Agent, limited SSIS support). |
Azure SQL Database | All current Azure SQL Database tiers | Not all monitoring features available due to Azure SQL Database platform limitations (e.g., no SQL Agent, no SSISDB catalog). |
PostgreSQL | v9 and later (versioning) | Earlier versions may work—contact Nodinite Support for compatibility with older PostgreSQL versions. |
Note
Our aim is always to support the latest database versions and standards, often including CTP (Community Technology Preview) releases as we develop on the latest technologies. Contact Nodinite Support for specific version compatibility questions.
Get Started
Step | Task | Description |
---|---|---|
1 | Review Prerequisites | Confirm SQL Server/Azure SQL/PostgreSQL credentials, network connectivity, and required permissions (db_datareader for backups, VIEW SERVER STATE for blocking, SQLAgentOperatorRole for jobs). |
2 | Install the Agent | Download the Database Monitoring Agent installer, run on Windows Server with IIS, configure database connection strings, and register the agent with Nodinite Core Services. |
3 | Configure Monitoring Resources | Add SQL Server instances, Azure SQL databases, and PostgreSQL connections as Resources; configure categories (Backups, Jobs, Blocking, SSIS, Size Checks, SQL Statements) based on monitoring needs. |
4 | Set Up Alerts | Define alert thresholds (backup overdue >24 hours, blocking >5 minutes, job failure, disk space <20% free); configure notification channels (email, Teams, ticketing systems). |
5 | Create Dashboards | Build custom dashboards in Nodinite Web Client showing backup status, job success rates, space utilization trends, blocking frequency—tailored for DBAs, operations, and business users. |
6 | Delegate Access | Use role-based access to grant operations teams permission to view Monitor Views, start/stop jobs, execute scripts—without granting sysadmin or Azure contributor roles. |
Common Questions
Q: Can I monitor multiple SQL Server instances from one Database Monitoring Agent?
A: Yes. A single Database Monitoring Agent can monitor an unlimited number of SQL Server instances, Azure SQL databases, and PostgreSQL instances. You can deploy multiple agents for geographic distribution, network segmentation, or workload isolation.
Q: What permissions are required to monitor SQL Server?
A: Minimum permissions vary by category: Backups require db_datareader
on msdb (to read backup history), Blocking requires VIEW SERVER STATE
, Jobs require membership in SQLAgentOperatorRole
or SQLAgentUserRole
, SSIS requires ssis_admin
role on SSISDB catalog. For least-privilege setup, see Prerequisites for Database Monitoring Agent.
Q: Can I execute remote actions without granting sysadmin rights?
A: Yes. Using SQL Server role-based security and Nodinite's privilege model, you can delegate specific actions (start/stop jobs, execute predefined scripts, kill blocking sessions) to operations teams without granting sysadmin. The agent uses service accounts with targeted permissions for each action type.
Q: What are the limitations when monitoring Azure SQL Database vs. SQL Server?
A: Azure SQL Database does not include SQL Server Agent (no job monitoring), SSISDB catalog (no SSIS monitoring), or some DMVs (limited blocking details). You can monitor Azure SQL Database size checks, custom TSQL statements, and execute scripts. For job-like scheduling in Azure, consider Azure Data Factory and use the Nodinite Web Services Agent to monitor Data Factory pipelines.
Q: Can I monitor SQL Express with this agent?
A: Yes, but SQL Server Express has platform limitations: no SQL Server Agent (no job monitoring), limited SSIS support (no SSISDB catalog). You can monitor SQL Express backups, blocking, instance health, size checks, and custom TSQL statements.
Q: How do I monitor custom business logic or data quality with TSQL queries?
A: Use the SQL Statements category to add custom TSQL queries. The agent executes your SELECT statement on a schedule, evaluates the result (row count, column values), and triggers alerts based on thresholds you configure. Example: SELECT COUNT(*) FROM Orders WHERE Status='Pending' AND OrderDate < DATEADD(day,-1,GETDATE())
—alert if result >10.
Q: Can I monitor PostgreSQL alongside SQL Server from the same agent?
A: Yes. The Database Monitoring Agent supports SQL Server, Azure SQL Database, and PostgreSQL from the same installation. Add PostgreSQL instances as Resources and configure PostgreSQL SQL Statements to execute custom health checks and monitor query results.
Q: How do alerts work when backups fail or jobs fail?
A: The agent monitors backup history and job execution on a schedule (configurable interval, typically every 5-15 minutes). When a backup exceeds your configured threshold (e.g., "no full backup in 24 hours") or a job fails, the agent updates the resource state to "Error" in Monitor Views, triggers configured Alerts (email, Teams, ticketing), and logs the event. You can view historical trends in Reports or dashboards.
Q: What happens if the Database Monitoring Agent host server loses connectivity to a SQL Server?
A: The agent will detect connectivity failure during the next monitoring cycle, mark the SQL Server instance resource as "Error" with a connectivity failure message, and trigger alerts. Once connectivity is restored, the agent resumes normal monitoring automatically—no manual intervention required.
Additional Resources
- Release Notes – Review the latest features, bug fixes, and version history for the Database Monitoring Agent
- Troubleshooting Database Monitoring Agent – Diagnose common issues: connectivity, permissions, performance, alert configuration
- Updating Database Monitoring Agent – Learn how to upgrade the agent to the latest version with minimal downtime
- Prerequisites for Database Monitoring Agent – Detailed credential, permission, and network connectivity requirements
- Features Overview – Explore all monitoring categories and capabilities in depth
- Monitor Views – Learn how to use Monitor Views to visualize database health and investigate issues
- Remote Actions – Complete reference for remote actions available per category
- Reports – Design custom reports for backup compliance, job success rates, space trends, and more
- Repository Model – Document your databases with metadata, ownership, SLAs, and dependencies
Next Step
Ready to start monitoring? Install the Database Monitoring Agent and configure your first SQL Server or Azure SQL Database:
Install Database Monitoring Agent – Download and install the agent on Windows Server with IIS
Configuration – Add SQL Server instances, Azure SQL databases, or PostgreSQL as monitored resources
Related Database Monitoring Solutions
- BizTalk Agent – Monitor BizTalk MessageBox databases, BizTalk-specific SQL jobs, and BizTalk application health
- Windows Server Agent – Monitor SQL Server host operating system (CPU, memory, disk, services, Event Log)
- Azure Agent – Monitor Azure SQL Database alongside other Azure services (Functions, Storage, Key Vault, API Management)