• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Instalar y configurar NRDOT para MSSQL en Windows autohospedado: autenticación de SQL

|View as Markdown (English)

Configure el monitoreo de Microsoft SQL Server con el NRDOT Collector en entornos autohospedados de Windows, incluidos servidores físicos, máquinas virtuales e instalaciones independientes de Windows, mediante la autenticación de SQL Server. Para monitorear en un entorno de Windows RDS, consulte la instrumentación de Windows RDS.

Instalación guiada

Para instalar esto a través de la UI de New Relic en su lugar, vaya a one.newrelic.com > Integrations & Agents > Microsoft SQL Server (Database 360) . Siga las instrucciones en pantalla para configurar la integración. Esta página solo cubre la instalación manual.

Esta página cubre la autenticación de SQL Server. Si su entorno utiliza un método de autenticación diferente, consulte Autenticación de dominio de Windows o gMSA.

Requisitos previos

Antes de monitorear Microsoft SQL Server con NRDOT, asegúrese de que el entorno cumpla con estos requisitos:

  • Una cuenta de New Relic con una clave de licencia válida.

  • Conectividad de red al extremo OTLP de New Relic para su región.

  • Requisitos de SQL Server:

    • SQL Server 2017 o posterior.
    • Acceso administrativo a SQL Server (rol sysadmin o equivalente).
    • Conectividad de red entre el recolector y SQL Server en el puerto 1433 o un puerto personalizado.
    • SQL Server Management Studio (SSMS) o la utilidad sqlcmd.
    • Autenticación de dominio de Windows o de SQL Server.

Instalar NRDOT Collector

Descarga e instala el NRDOT Collector usando PowerShell:

[Net.ServicePointManager]::SecurityProtocol = 'tls12, tls'
$NRDOT_VERSION = (Invoke-RestMethod -Uri "https://api.github.com/repos/newrelic/nrdot-collector-releases/releases/latest").tag_name
$WebClient = New-Object System.Net.WebClient
$WebClient.Headers.Add("User-Agent", "Mozilla/5.0")
$WebClient.DownloadFile("https://github.com/newrelic/nrdot-collector-releases/releases/download/$NRDOT_VERSION/nrdot-collector_${NRDOT_VERSION}_windows_x64.msi", "$env:TEMP\nrdot-collector.msi")
Start-Process msiexec.exe -ArgumentList "/i `"$env:TEMP\nrdot-collector.msi`" /qn /norestart /L*V `"$env:TEMP\nrdot_install.log`"" -Wait
Get-Service nrdot-collector -ErrorAction SilentlyContinue

Crear usuario de monitoreo

Ejecute este script como usuario root user/sysadmin para crear el usuario de monitoreo de newrelic y otorgar los permisos necesarios para recopilar métricas de SQL Server.

En su SQL Server Management Studio (SSMS), ejecute el siguiente script para crear el usuario de monitoreo newrelic. Reemplace <YOUR_PASSWORD> con su contraseña deseada:

USE [master];
GO
CREATE LOGIN [newrelic] WITH PASSWORD = '<YOUR_PASSWORD>';
GO
GRANT VIEW SERVER STATE TO [newrelic];
GRANT VIEW ANY DEFINITION TO [newrelic];
GRANT VIEW ANY DATABASE TO [newrelic];
GO
DECLARE @name SYSNAME;
DECLARE db_cursor CURSOR READ_ONLY FORWARD_ONLY FOR
SELECT [name]
FROM [master].[sys].[databases]
WHERE [name] NOT IN ('master', 'msdb', 'model', 'rdsadmin', 'distribution')
AND [state] = 0;
OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @name;
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
EXEC('USE [' + @name + '];
IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = ''newrelic'')
BEGIN
CREATE USER [newrelic] FOR LOGIN [newrelic];
END;
GRANT VIEW DATABASE STATE TO [newrelic];');
END TRY
BEGIN CATCH
PRINT 'Error on ' + @name + ': ' + ERROR_MESSAGE();
END CATCH
FETCH NEXT FROM db_cursor INTO @name;
END
CLOSE db_cursor;
DEALLOCATE db_cursor;
GO

Sugerencia

Para administrar información confidencial de forma segura, como las credenciales de la base de datos, almacénelas en herramientas de administración de secretos.

Configurar el Colector NRDOT

  1. Cree un archivo de configuración llamado mssql-config.yaml en PowerShell como administrador:
New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  1. Agregue los valores específicos de su entorno a la siguiente configuración y cópiela en el archivo mssql-config.yaml creado en el paso anterior:

configuración completa

Esta configuración se centra en el monitoreo esencial de la base de datos para el entorno de SQL Server. Para habilitar un monitoreo integral con todas las métricas disponibles, consulte la referencia de configuración.

mssql-config.yaml
1
receivers:
2
nrsqlserver:
3
collection_interval: 15s
4
username: newrelic
5
password: YOUR_PASSWORD
6
server: sqlserver.example.com
7
port: 1433
8
9
# Enable comprehensive database metrics
10
metrics:
11
sqlserver.database.count:
12
enabled: true
13
sqlserver.database.io:
14
enabled: true
15
sqlserver.database.latency:
16
enabled: true
17
sqlserver.database.operations:
18
enabled: true
19
sqlserver.database.tempdb.space:
20
enabled: true
21
sqlserver.database.tempdb.version_store.size:
22
enabled: true
23
sqlserver.deadlock.rate:
24
enabled: true
25
sqlserver.os.wait.duration:
26
enabled: true
27
sqlserver.processes.blocked:
28
enabled: true
29
sqlserver.memory.grants.pending.count:
30
enabled: true
31
sqlserver.database.file.size:
32
enabled: true
33
sqlserver.memory.area:
34
enabled: true
35
36
# Enable query sample, top query, query plan, and top procedure log collection
37
events:
38
db.server.query_sample:
39
enabled: true
40
db.server.top_query:
41
enabled: true
42
db.server.query_plan:
43
enabled: true
44
db.server.top_procedure:
45
enabled: true
46
47
# Top query collection configuration
48
top_query_collection:
49
lookback_time: 60s
50
max_query_sample_count: 1000
51
top_query_count: 250
52
collection_interval: 60s
53
collect_full_query_text: true
54
allowed_comment_keys:
55
- nr_service_guid
56
57
# Query sample collection configuration
58
query_sample_collection:
59
max_rows_per_query: 100
60
collect_full_query_text: true
61
allowed_comment_keys:
62
- nr_service_guid
63
64
# Top stored procedure collection configuration
65
top_procedure_collection:
66
max_procedure_sample_count: 1000
67
top_procedure_count: 250
68
collection_interval: 60s
69
70
resource_attributes:
71
db.system.version:
72
enabled: true
73
sqlserver.db.edition:
74
enabled: true
75
76
processors:
77
memory_limiter:
78
check_interval: ${env:NR_MEM_LIMITER_CHECK_INTERVAL:-1s}
79
limit_mib: ${env:NR_MEM_LIMITER_LIMIT_MIB:-200}
80
spike_limit_mib: ${env:NR_MEM_LIMITER_SPIKE_MIB:-50}
81
82
exporters:
83
otlp:
84
endpoint: https://otlp.nr-data.net:4318
85
headers:
86
api-key: YOUR_LICENSE_KEY
87
tls:
88
insecure: false
89
compression: gzip
90
91
sending_queue:
92
enabled: true
93
sizer: bytes
94
queue_size: 100_000_000
95
num_consumers: 10
96
batch:
97
sizer: bytes
98
max_size: 1_000_000
99
min_size: 0
100
flush_timeout: 5s
101
102
service:
103
telemetry:
104
metrics:
105
level: none
106
107
pipelines:
108
metrics:
109
receivers: [nrsqlserver]
110
processors: [memory_limiter]
111
exporters: [otlp]
112
113
logs:
114
receivers: [nrsqlserver]
115
processors: [memory_limiter]
116
exporters: [otlp]

Sugerencia

  • El pipeline logs no transporta registros de depuración del recolector ni logs internos del agente. Transmite telemetría de consultas de SQL Server, incluido el texto de la consulta, los planes de ejecución y los datos de muestra. El receptor nrsqlserver captura esta telemetría a través de los eventos db.server.query_sample, db.server.top_query, db.server.query_plan y db.server.top_procedure emitidos como registros de log de OpenTelemetry.

  • El evento db.server.top_procedure requiere SQL Server 2017 CU3 o posterior, que introdujo la compatibilidad con sys.dm_exec_procedure_stats.total_spills. En versiones anteriores, este evento no emite datos y registra un error. Otros eventos no se ven afectados. Acceder a sys.dm_exec_procedure_stats requiere VIEW SERVER STATE (o VIEW SERVER PERFORMANCE STATE, según la versión de SQL Server). Además, se requiere VIEW ANY DEFINITION para que OBJECT_NAME y OBJECT_SCHEMA_NAME se resuelvan correctamente en todas las bases de datos de usuario, y se necesita CONNECT SQL para configurar las sesiones iniciales. El usuario de monitoreo creado en Crear usuario de monitoreo incluye los 3 permisos.

Actualizar el registro del servicio de Windows

  1. Actualice el registro de servicios de Windows para usar el nuevo archivo mssql-config.yaml mediante uno de los siguientes métodos:

    • Para PowerShell: ejecute el siguiente comando como administrador:

      Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\nrdot-collector" -Name "ImagePath" -Value '"C:\Program Files\nrdot-collector\nrdot-collector.exe" --config "C:\Program Files\nrdot-collector\mssql-config.yaml"'
    • Para el símbolo del sistema: si PowerShell no está disponible, use el símbolo del sistema en su lugar y ejecute el siguiente comando como administrador:

      bash
      $
      sc config "nrdot-collector" binPath= "\"C:\Program Files\nrdot-collector\nrdot-collector.exe\" --config \"C:\Program Files\nrdot-collector\mssql-config.yaml\""
  2. Valide la configuración del NRDOT Collector para asegurarse de que tenga el formato correcto y funcione correctamente.

    bash
    $
    & "C:\Program Files\nrdot-collector\nrdot-collector.exe" validate --config="C:\Program Files\nrdot-collector\mssql-config.yaml"

    Sugerencia

    Para correlacionar el rendimiento de su aplicación con las operaciones de la base de datos, puede configurar la identificación del servicio de base de datos. Para obtener más información, consulte configurar la identificación del servicio de base de datos.

Reiniciar NRDOT Collector

Después de actualizar su configuración, reinicie el servicio NRDOT Collector:

bash
$
net stop nrdot-collector
$
net start nrdot-collector

Sugerencia

Siempre reinicie el servicio NRDOT Collector después de realizar cambios de configuración para garantizar que los nuevos ajustes surtan efecto.

Encuentra y utiliza tus datos

Una vez que sus datos se estén recopilando, puede acceder al monitoreo integral de bases de datos SQL Server a través de la UI de New Relic.

Para encontrar su entidad de base de datos SQL Server en New Relic:

  1. Vaya a https://one.newrelic.com > All Capabilities > Databases.

  2. En el menú desplegable Entity type, seleccione MSSQL instance y luego haga clic en Apply.

  3. Seleccione su base de datos SQL Server de la lista de entidades.

    Después de configurar el monitoreo de SQL Server con NRDOT, puede:

Configurar la correlación de APM y base de datos

Aprenda a correlacionar el rendimiento de la aplicación con las operaciones de la base de datos en New Relic.

Resolución de problemas

Aprenda a solucionar problemas de la configuración de monitoreo de MSSQL Windows en New Relic.

Referencia de métricas

Obtenga información sobre las métricas disponibles recopiladas por NRDOT Collector.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.