Skip to main content

SQL Server

Health CheckScraper

Mission Control integrates with Microsoft SQL Server to monitor your database infrastructure.


Health Check

Use cases:

  • Verify database connectivity and authentication
  • Execute T-SQL queries and validate results against expected values
  • Monitor database health, blocking queries, and resource usage
  • Alert when queries return unexpected results or databases become unavailable

Connection Check

Test database connectivity and run validation queries.

mssql-connection-check.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: mssql-connection
spec:
interval: 30
mssql:
- name: production-db
url: sqlserver://user:password@sqlserver:1433?database=mydb
query: SELECT 1
Query Validation
mssql-query-check.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: mssql-blocking
spec:
interval: 60
mssql:
- name: blocking-sessions
connection: connection://mssql/production
query: |
SELECT COUNT(*) as blocked_count
FROM sys.dm_exec_requests
WHERE blocking_session_id <> 0
test:
expr: results[0].blocked_count == 0
Database Size Monitoring
mssql-size-check.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: mssql-size
spec:
interval: 300
mssql:
- name: db-size
connection: connection://mssql/analytics
query: |
SELECT
SUM(size * 8 / 1024) as size_mb,
SUM(FILEPROPERTY(name, 'SpaceUsed') * 8 / 1024) as used_mb
FROM sys.database_files
test:
expr: results[0].used_mb / results[0].size_mb < 0.9 # Less than 90% full

Scraper

Use cases:

  • Scrape database metadata and configurations into the catalog
  • Track database settings and schema changes
mssql-scraper.yaml
apiVersion: configs.flanksource.com/v1
kind: ScrapeConfig
metadata:
name: mssql-config
spec:
schedule: "@every 1h"
sql:
- connection: connection://mssql/master
driver: mssql
query: |
SELECT name,
database_id,
create_date,
state_desc as state
FROM sys.databases
WHERE database_id > 4
items:
- type: SQLServer::Database
id: .name
name: .name

Next Steps