SQL Server

Supported OS Linux Mac OS Windows

Versión de la integración22.7.0

Gráfico de SQL Server

Información general

La integración de SQL Server realiza un seguimiento del rendimiento de las instancias de SQL Server. Recopila métricas para el número de conexiones de usuario, la tasa de compilaciones de SQL y mucho más.

Activa la Monitorización de base de datos (DBM) para obtener una visión mejorada del rendimiento de las consultas y del estado de la base de datos. Además de la integración estándar, Datadog DBM proporciona métricas a nivel de consulta, snapshots de consultas en tiempo real e históricas, análisis de eventos de espera, carga de la base de datos, planes de explicación de consultas e información sobre consultas de bloqueo.

SQL Server 2012, 2014, 2016, 2017, 2019 y 2022 son compatibles.

Configuración

En esta página, se describe la integración estándar del Agent de SQL Server. Si buscas el producto de Monitorización de base de datos para SQL Server, consulta Monitorización de base de datos de Datadog.

Instalación

El check de SQL Server se incluye en el paquete del Datadog Agent. No es necesaria ninguna instalación adicional en tus instancias de SQL Server.

Asegúrate de que tu instancia de SQL Server admite la autenticación de SQL Server activando el “Modo de autenticación de SQL Server y Windows” en las propiedades del servidor:

Propiedades del servidor -> Seguridad -> Modo de autenticación de SQL Server y Windows

Requisito previo

Nota: Para instalar la Monitorización de base de datos para SQL Server, selecciona tu solución de alojamiento en el sitio de documentación para obtener instrucciones.

Las versiones de SQL Server admitidas para el check de SQL Server son las mismas que para la Monitorización de base de datos. Visita la página Configuración de SQL Server para ver las versiones soportadas actualmente bajo el título Autoalojado.

Procede con los siguientes pasos de esta guía solo si vas a instalar la integración estándar únicamente.

  1. Crea un inicio de sesión de sólo lectura para conectarse a tu servidor:

        CREATE LOGIN datadog WITH PASSWORD = '<PASSWORD>';
        USE master;
        CREATE USER datadog FOR LOGIN datadog;
        GRANT SELECT on sys.dm_os_performance_counters to datadog;
        GRANT VIEW SERVER STATE to datadog;
    

    Para recopilar métricas del tamaño del archivo por base de datos, asegúrate de que el usuario que has creado (datadog) tiene acceso con permiso de conexión a tus bases de datos ejecutando:

        GRANT CONNECT ANY DATABASE to datadog; 
    
  2. (Necesario para AlwaysOn y métricas sys.master_files) Para reunir AlwaysOn y métricas sys.master_files, concede el siguiente permiso adicional:

        GRANT VIEW ANY DEFINITION to datadog;
    

Configuración

host

Para configurar este check para un Agent que se ejecuta en un host:

  1. Edita el archivo sqlserver.d/conf.yaml en la carpeta conf.d/ en la raíz del directorio de configuración de tu Agent. Para conocer todas las opciones de configuración disponibles, consulta el sqlserver.d/conf.yaml de ejemplo.

    init_config:
    
    instances:
      - host: "<SQL_HOST>,<SQL_PORT>"
        username: datadog
        password: "<YOUR_PASSWORD>"
        connector: adodbapi 
        adoprovider: MSOLEDBSQL19  # Replace with MSOLEDBSQL for versions 18 and previous
    

    Si utilizas el Autodiscovery de puerto, utiliza 0 para SQL_PORT. Consulta la configuración de check de ejemplo para obtener una descripción completa de todas las opciones, incluido cómo utilizar consultas personalizadas para crear tus propias métricas.

    Utiliza controladores compatibles en función de tu configuración de SQL Server.

    Nota: También es posible utilizar la autenticación de Windows y no especificar el nombre de usuario/contraseña con:

    connection_string: "Trusted_Connection=yes"
    
  2. Reinicia el Agent.

Linux

Se requieren pasos adicionales en la configuración para que la integración de SQL Server funcione en el host de Linux:

  1. Instala un controlador ODBC SQL Server, por ejemplo el controlador ODBC de Microsoft o el controlador FreeTDS.
  2. Copia los archivos odbc.ini y odbcinst.ini en la carpeta /opt/datadog-agent/embedded/etc.
  3. Configura el archivo conf.yaml para utilizar el conector odbc y especifica el controlador adecuado como se indica en el archivo odbcinst.ini.
Recopilación de logs

Disponible para las versiones 6.0 o posteriores del Agent

  1. La recopilación de logs está desactivada en forma predeterminada en el Datadog Agent, actívala en tu archivo datadog.yaml:

    logs_enabled: true
    
  2. Añade este bloque de configuración a tu archivo sqlserver.d/conf.yaml para empezar a recopilar tus logs de SQL Server:

    logs:
      - type: file
        encoding: utf-16-le
        path: "<LOG_FILE_PATH>"
        source: sqlserver
        service: "<SERVICE_NAME>"
    

    Cambia los valores de los parámetros path y service en función de tu entorno. Consulta el sqlserver.d/conf.yaml de ejemplo para ver todas las opciones disponibles de configuración.

  3. Reinicia el Agent.

En contenedores

Para entornos en contenedores, consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de los parámetros que se indican a continuación.

Recopilación de métricas
ParámetroValor
<INTEGRATION_NAME>sqlserver
<INIT_CONFIG>en blanco o {}
<INSTANCE_CONFIG>{"host": "%%host%%,%%port%%", "username": "datadog", "password": "<UNIQUEPASSWORD>", "connector": "odbc", "driver": "FreeTDS"}

Consulta Variables de plantilla de Autodiscovery para obtener más detalles sobre cómo pasar <UNIQUEPASSWORD> como una variable de entorno en lugar de una etiqueta (label).

Recopilación de logs

Disponible para las versiones 6.0 o posteriores del Agent

La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent. Para habilitarla, consulta la recopilación de logs de Kubernetes.

ParámetroValor
<LOG_CONFIG>{"source": "sqlserver", "service": "sqlserver"}

Validación

Ejecuta el subcomando de estado del Agent y busca sqlserver en la sección Checks.

Datos recopilados

Métricas

La mayoría de estas métricas proceden de la tabla sys.dm_os_performance_counters de tu SQL Server.

Eventos

El check de SQL Server no incluye ningún evento.

Checks de servicio

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.

Si estás ejecutando el Agent en un procesador ARM aarch64, existe un problema conocido que comienza en la versión 14.0.0 de este check, que se incluye con el Agent versión 7.48.0. Una dependencia de Python falla al cargarse y verás el siguiente mensaje al ejecutar el subcomando de estado del Agent:

Loading Errors
  ==============
    sqlserver
    ---------
      Core Check Loader:
        Check sqlserver not found in Catalog
      JMX Check Loader:
        check is not a jmx check, or unable to determine if it's so
      Python Check Loader:
        unable to import module 'sqlserver': No module named 'sqlserver'

Esto se ha solucionado en la versión 15.2.0 del check y en las versiones 7.49.1 y posteriores del Agent.

Referencias adicionales