Microsoft SQL monitoring integration

Our Microsoft SQL Server integration collects and sends metric and inventory data from your Microsoft SQL Server environment to our platform so you can monitor the health of your Microsoft SQL Server environment. We collect both database and instance-level metrics so you can troubleshoot and resolve performance problems.

Image of the dashboard available through the Microsoft SQL Server quickstart

Dashboard installed through the New Relic Microsoft SQL Server monitoring integration.

Choose your environment

Choose your install path

Choose how you'll enable your SQL server

Check the compatibility and requirements

To enable the integration, ensure you meet these requirements:

tip

You can enable query-level monitoring for Windows environment. For more information, refer Enable query-level monitoring for Microsoft SQL Server.

Install the infrastructure agent

To use the Microsoft SQL Server integration, you need to first install the infrastructure agent on a Linux or Windows host, or on a host capable of remotely accessing Microsoft SQL Server. The infrastructure agent monitors the host itself, while the integration you'll install in the next step extends your monitoring with Microsoft SQL Server-specific data.

重要

If using a gMSA for SQL Server access, then the infrastructure agent needs to run as the gMSA.

Download using MSI

  1. Download the latest .MSI installer image for the desired integration from our repository.

  2. In your terminal, run this command.

    bash
    $
    msiexec.exe /qn /i PATH\TO\nri-mssql-amd64.msi

Enable your Microsoft SQL Server

  1. Create a new login and grant CONNECT and VIEW permissions:

    USE master;
    CREATE LOGIN [DomainName\gMSA] FROM windows;
    GRANT CONNECT SQL TO [Domain\gMSA];
    GRANT VIEW SERVER STATE TO [Domain\gMSA];
    GRANT VIEW ANY DEFINITION TO [Domain\gMSA];
  2. Use the following statements to grant READ access privileges to the user:

DECLARE @name SYSNAME
DECLARE db_cursor CURSOR
READ_ONLY FORWARD_ONLY
FOR
SELECT NAME
FROM master.sys.databases
WHERE NAME NOT IN ('master','msdb','tempdb','model','rdsadmin','distribution')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE('USE "' + @name + '"; CREATE USER [Domain\gMSA] FOR LOGIN [Domain\gMSA];' );
FETCH next FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor

Find and use data

Follow these steps:

  1. Go to one.newrelic.com > Integrations & Agents and type MSSQL On-Host Integration.
  2. Under Dashboards, click MSSQL On-Host Integration w/ Custom Queries.
  3. A popup window opens.
  4. Click Edit to change the account.
  5. Click View dashboard to see your Microsoft SQL server data in New Relic.

For more on how to find and use your data, see how to understand integration data. You can find a full list of metrics and their attributes at the bottom of this doc.

Microsoft SQL Server data is attached to the following event types:

Sample configuration files

Metrics collected by the integration

The Microsoft SQL Server integration collects the following metric data attributes. Some metric name are prefixed with a category indicator and a period, such as asserts. or flush..

Microsoft SQL Server instance settings

The Microsoft SQL Server integration collects both Metrics and Inventory information. In the table, use the Applies to column for the settings available to each collection:

Setting

Description

Default

Applies to

HOSTNAME

Hostname or IP where MS SQL server is running.

127.0.0.1

M/I

PORT

Port on which MS SQL server is listening.
Note: Port is only required when INSTANCE is not specified.

1433

M/I

INSTANCE

The MS SQL Server Instance to connect to.
Note: Only required when PORT is not specified. Do not use both.

N/A

M/I

USERNAME

Username for accessing the MS SQL server.
If using a domain user use the syntax domain\user

N/A

M/I

PASSWORD

Password for the given SQL or Domain user.

N/A

M/I

EXTRA_CONNECTION_URL_ARGS

Specify extra connection parameters as attr1=val1&attr2=val2.

N/A

M/I

ENABLE_SSL

Use SSL to connect to the MS SQL Server.

false

M/I

TRUST_SERVER_CERTIFICATE

if set to true, server certificate is NOT verified for SSL.

false

M/I

CERTIFICATE_LOCATION

Location of the SSL Certificate.

N/A

M/I

TIMEOUT

Timeout for queries, in seconds. Set 0 for no timeout.

30

M/I

ENABLE_BUFFER_METRICS

Enable collection of buffer pool metrics. These can be resource intensive for large systems.

true

M

ENABLE_DATABASE_RESERVE_METRICS

Enable collection of database partition reserve space. These can be resource intensive for large systems.

true

M

ENABLE_DISK_METRICS_IN_BYTES

Enable collection of the volume stats for each MSSQL instance.

true

M

CUSTOM_METRICS_QUERY

A SQL query to collect custom metrics. See the custom query example.

N/A

M

CUSTOM_METRICS_CONFIG

YAML configuration with one or more SQL queries to collect custom metrics. See the multiple custom queries example.

false

M

METRICS

Set to true to enable metrics-only collection.

false

INVENTORY

Set to true to enable inventory-only collection.

false

The values for these settings can be defined in several ways:

Inventory data

The Microsoft SQL Server integration captures the configuration parameters and current settings of the Microsoft SQL Server environment. It collects the results of the sp_configure stored procedure, as well as current running configuration settings from the sys.configurations table. The data is available on the Inventory page, under the config/mssql source.

For more about inventory data, see Understand integration data.