Documentation for automated readers
A curated documentation index is available at: https://grafana.com/llms.txt
A complete documentation index is available at: https://grafana.com/llms-full.txt
These indexes can help with page discovery before fetching individual documents.
This page is also available in Markdown, which may be easier for automated readers and AI tools to parse than HTML. The Markdown version is available at https://grafana.com/docs/grafana-cloud/send-data/alloy/reference/components/database_observability/database_observability.sql_server.md, or by sending Accept: text/markdown to https://grafana.com/docs/grafana-cloud/send-data/alloy/reference/components/database_observability/database_observability.sql_server/. For broader documentation discovery, the curated index is available at https://grafana.com/llms.txt and the complete index is available at https://grafana.com/llms-full.txt.
database_observability.sql_server
EXPERIMENTAL: This is an experimental component. Experimental components are subject to frequent breaking changes, and may be removed with no equivalent replacement. To enable and use an experimental component, you must set the
stability.levelflag toexperimental.
database_observability.sql_server connects to a Microsoft SQL Server instance and collects observability data across every accessible user database on that instance.
The component forwards this data as log entries to Loki receivers and exports targets for Prometheus scraping.
Usage
database_observability.sql_server "<LABEL>" {
data_source_name = <DATA_SOURCE_NAME>
forward_to = [<LOKI_RECEIVERS>]
}Arguments
You can use the following arguments with database_observability.sql_server:
| Name | Type | Description | Default | Required |
|---|---|---|---|---|
data_source_name | secret | Data Source Name for the SQL Server instance to connect to. | yes | |
forward_to | list(LogsReceiver) | Where to forward log entries after processing. | yes | |
targets | list(map(string)) | List of external targets to scrape. | no | |
disable_collectors | list(string) | A list of collectors to disable from the default set. | no | |
enable_collectors | list(string) | A list of collectors to enable on top of the default set. | no | |
exclude_schemas | list(string) | A list of schemas to exclude from monitoring, on top of the always-excluded system schemas sys and information_schema. | ["alloydbadmin", "alloydbmetadata", "azure_maintenance", "azure_sys", "cloudsqladmin", "rdsadmin"] | no |
exclude_databases | list(string) | A list of databases to exclude from monitoring, on top of the always-excluded system databases master, model, msdb, and tempdb. | ["alloydbadmin", "alloydbmetadata", "azure_maintenance", "azure_sys", "cloudsqladmin", "rdsadmin"] | no |
The following collectors are configurable:
| Name | Description | Enabled by default |
|---|---|---|
schema_details | Collect schemas and tables from information_schema. | yes |
Blocks
You can use the following blocks with database_observability.sql_server:
No valid configuration blocks found.
schema_details
| Name | Type | Description | Default | Required |
|---|---|---|---|---|
collect_interval | duration | How frequently to collect information from database. | "1m" | no |
The collector scans every database that the login can access on the instance and collects schema details from each. Only databases where the login has CONNECT access to catalog views are collected.
Example
database_observability.sql_server "orders_db" {
data_source_name = "sqlserver://user:pass@server:1433"
forward_to = [loki.write.logs_service.receiver]
}
loki.write "logs_service" {
endpoint {
url = sys.env("<GRAFANA_CLOUD_HOSTED_LOGS_URL>")
basic_auth {
username = sys.env("<GRAFANA_CLOUD_HOSTED_LOGS_ID>")
password = sys.env("<GRAFANA_CLOUD_RW_API_KEY>")
}
}
}Replace the following:
<GRAFANA_CLOUD_HOSTED_LOGS_URL>: The URL for your Grafana Cloud hosted logs.<GRAFANA_CLOUD_HOSTED_LOGS_ID>: The user ID for your Grafana Cloud hosted logs.<GRAFANA_CLOUD_RW_API_KEY>: Your Grafana Cloud API key.
Compatible components
database_observability.sql_server can accept arguments from the following components:
- Components that export Targets
- Components that export Loki
LogsReceiver
database_observability.sql_server has exports that can be consumed by the following components:
- Components that consume Targets
Note
Connecting some components may not be sensible or components may require further configuration to make the connection work correctly. Refer to the linked documentation for more details.
Was this page helpful?
Related resources from Grafana Labs


