Versión de la integración22.7.0

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
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.
- 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; 
 
- (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:
- Edita el archivo - sqlserver.d/conf.yamlen 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 - 0para- 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"
 
- 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:
- Instala un controlador ODBC SQL Server, por ejemplo el controlador ODBC de Microsoft o el controlador FreeTDS.
- Copia los archivos odbc.iniyodbcinst.inien la carpeta/opt/datadog-agent/embedded/etc.
- Configura el archivo conf.yamlpara utilizar el conectorodbcy especifica el controlador adecuado como se indica en el archivoodbcinst.ini.
Recopilación de logs
Disponible para las versiones 6.0 o posteriores del Agent
- La recopilación de logs está desactivada en forma predeterminada en el Datadog Agent, actívala en tu archivo - datadog.yaml:
 
- Añade este bloque de configuración a tu archivo - sqlserver.d/conf.yamlpara 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 - pathy- serviceen función de tu entorno. Consulta el sqlserver.d/conf.yaml de ejemplo para ver todas las opciones disponibles de configuración.
 
- 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ámetro | Valor | 
|---|
| <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ámetro | Valor | 
|---|
| <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