• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Instalar e configurar NRDOT para MSSQL no Windows auto-hospedado: autenticação SQL

|View as Markdown (English)

Configure o monitoramento do Microsoft SQL Server usando o NRDOT Collector em ambientes Windows auto-hospedados, incluindo servidores físicos, máquinas virtuais e instalações autônomas do Windows, usando a autenticação do SQL Server. Para monitorar em um ambiente Windows RDS, consulte a instrumentação do Windows RDS.

Instalação guiada

Para instalar isso pela interface da New Relic, acesse one.newrelic.com > Integrations & Agents > Microsoft SQL Server (Database 360) . Siga as instruções na tela para configurar a integração. Esta página aborda apenas a instalação manual.

Esta página aborda a autenticação do SQL Server. Se o seu ambiente usar um método de autenticação diferente, consulte Autenticação de domínio do Windows ou gMSA.

Pré-requisitos

Antes de monitorar seu Microsoft SQL Server com o NRDOT, certifique-se de que seu ambiente atenda a estes requisitos:

  • Uma conta New Relic com uma chave de licença válida.

  • Conectividade de rede para o endpoint OTLP da New Relic para sua região.

  • Requisitos do SQL Server:

    • SQL Server 2017 ou posterior.
    • Acesso administrativo ao SQL Server (função sysadmin ou equivalente).
    • Conectividade de rede entre o coletor e o SQL Server na porta 1433 ou em uma porta personalizada.
    • SQL Server Management Studio (SSMS) ou o utilitário sqlcmd.
    • Autenticação de domínio do Windows ou do SQL Server.

Instalar o NRDOT Collector

Baixe e instale o NRDOT Collector usando o 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

Criar usuário de monitoramento

Execute este script como usuário root user/sysadmin para criar o usuário de monitoramento newrelic e conceder as permissões necessárias para coletar métricas do SQL Server.

Em seu SQL Server Management Studio (SSMS), execute o seguinte script para criar o usuário de monitoramento newrelic. Substitua <YOUR_PASSWORD> pela senha desejada:

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

Dica

Para gerenciar informações confidenciais com segurança, como credenciais de banco de dados, armazene-as em ferramentas de gerenciamento de segredos.

Configurar o NRDOT Collector

  1. Crie um arquivo de configuração nomeado como mssql-config.yaml no PowerShell como administrador:
New-Item -Path "C:\Program Files\nrdot-collector\mssql-config.yaml" -ItemType File
  1. Adicione seus valores específicos do ambiente à seguinte configuração e copie-a para o arquivo mssql-config.yaml criado na etapa anterior:

configuração completa

Esta configuração concentra-se no monitoramento essencial de banco de dados para o seu ambiente SQL Server. Para habilitar o monitoramento abrangente com todas as métricas disponíveis, consulte a referência de configuração.

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]

Dica

  • O pipeline logs não transporta logs de depuração do coletor ou logs internos do agente. Ele transmite a telemetria de consulta do SQL Server, incluindo texto da consulta, planos de execução e dados de amostra. O receptor nrsqlserver captura essa telemetria por meio dos eventos db.server.query_sample, db.server.top_query, db.server.query_plan e db.server.top_procedure emitidos como registros de log do OpenTelemetry.

  • O evento db.server.top_procedure requer o SQL Server 2017 CU3 ou posterior, que introduziu suporte para sys.dm_exec_procedure_stats.total_spills. Em versões anteriores, esse evento não emite dados e registra um erro. Outros eventos não são afetados. O acesso a sys.dm_exec_procedure_stats requer VIEW SERVER STATE (ou VIEW SERVER PERFORMANCE STATE, dependendo da versão do SQL Server). Além disso, VIEW ANY DEFINITION é necessário para que OBJECT_NAME e OBJECT_SCHEMA_NAME sejam resolvidos corretamente em todos os bancos de dados de usuário, e CONNECT SQL é necessário para configurar as sessões iniciais. O usuário de monitoramento criado em Criar usuário de monitoramento inclui todas as 3 permissões.

Atualizar Registro de Serviço do Windows

  1. Atualize o Registro de Serviço do Windows para usar o novo arquivo mssql-config.yaml usando um dos seguintes métodos:

    • Para PowerShell: execute o seguinte 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 prompt de comando: se o PowerShell não estiver disponível, use o prompt de comando e execute o seguinte 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 a configuração do Collector NRDOT para garantir que esteja formatada corretamente e funcione de maneira adequada.

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

    Dica

    Para correlacionar o desempenho do seu aplicativo com as operações de banco de dados, você pode configurar a identificação de serviço de banco de dados. Para mais informações, consulte configurar a identificação de serviço de banco de dados.

Reiniciar o NRDOT Collector

Após atualizar sua configuração, reinicie o serviço NRDOT Collector:

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

Dica

Sempre reinicie o serviço do NRDOT Collector após fazer alterações na configuração para garantir que as novas configurações entrem em vigor.

Encontre e use seus dados

Assim que seus dados estiverem sendo coletados, você poderá acessar o monitoramento abrangente do banco de dados SQL Server por meio da interface do New Relic.

Para encontrar sua entidade de banco de dados SQL Server no New Relic:

  1. Vá para https://one.newrelic.com > All Capabilities > Databases.

  2. Na dropdown Entity type, selecione MSSQL instance e clique em Apply.

  3. Selecione seu banco de dados SQL Server na lista de entidades.

    Após configurar o monitoramento do SQL Server com o NRDOT, você pode:

Configurar a correlação entre APM e banco de dados

Aprenda a correlacionar o desempenho do seu aplicativo com as operações de banco de dados no New Relic.

Resolução de problemas

Aprenda a solucionar problemas na sua configuração de monitoramento do MSSQL Windows no New Relic.

Referência de métricas

Saiba mais sobre as métricas disponíveis coletadas pelo NRDOT Collector.

Copyright © 2026 New Relic Inc.

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