Skip to content

Latest commit

 

History

History
 
 

README.md

Microsoft SQL Server Check

SQL server Graph

Overview

This check lets you track the performance of your SQL Server instances. It collects metrics for number of user connections, rate of SQL compilations, and more.

You can also create your own metrics by having the check run custom queries.

Setup

Installation

The SQL Server check is included in the Datadog Agent package, so you don't need to install anything else on your SQL Server instances.

Make sure that your SQL Server instance supports SQL Server authentication by enabling "SQL Server and Windows Authentication mode" in the server properties. Server Properties -> Security -> SQL Server and Windows Authentication mode

Configuration

  1. Create a read-only login to connect to your server:

        CREATE LOGIN datadog WITH PASSWORD = 'YOUR_PASSWORD';
        CREATE USER datadog FOR LOGIN datadog;
        GRANT SELECT on sys.dm_os_performance_counters to datadog;
        GRANT VIEW SERVER STATE to datadog;
    
  2. Create a file sqlserver.d/conf.yaml, in the conf.d/ folder at the root of your Agent's configuration directory. See the sample sqlserver.d/conf.yaml for all available configuration options:

        init_config:
    
        instances:
          - host: <SQL_HOST>,<SQL_PORT>
            username: datadog
            password: <YOUR_PASSWORD>
            connector: odbc # alternative is 'adodbapi'
            driver: SQL Server

    See the example check configuration for a comprehensive description of all options, including how to use custom queries to create your own metrics.

    Note: The (default) provider SQLOLEDB is being deprecated. To use the newer MSOLEDBSQL provider, set the adoprovider variable to MSOLEDBSQL in your sqlserver.d/conf.yaml file after having downloaded the new provider from Microsoft.

  3. Restart the Agent to start sending SQL Server metrics to Datadog.

Validation

Run the Agent's status subcommand and look for sqlserver under the Checks section.

Data Collected

Metrics

See metadata.csv for a list of metrics provided by this check.

Most of these metrics come from your SQL Server's sys.dm_os_performance_counters table.

Events

The SQL server check does not include any events at this time.

Service Checks

sqlserver.can_connect:

Returns CRITICAL if the Agent cannot connect to SQL Server to collect metrics, otherwise OK.

Troubleshooting

Need help? Contact Datadog Support.

Development

Please refer to the main documentation for more details about how to test and develop Agent based integrations.

Testing Guidelines

Windows

To run the tests on Windows, an instance of MSSQL is expected to run on the host. The name of the database instance and the credentials reflect what we have on the CI environment, so that might not work out of the box on a local development environment.

Linux

On Linux, a Docker container running a MSSQL instance is automatically started before running the tests. We use unixODBC and FreeTDS to talk to the database so, depending on the Linux distribution, you need to install additional dependencies on your local dev environment before running the tests. For example these are the installation steps for Ubuntu 14.04:

sudo apt-get install unixodbc unixodbc-dev tdsodbc

OSX

Same as Linux, MSSQL runs in a Docker container and we talk to the database through unixODBC and FreeTDS. You can use homebrew to install the required packages:

brew install unixodbc
brew install freetds --with-unixodbc

Further Reading