RDS Performance Insights“按用户切片”显示未知用户产生数据库负载

0

【以下的问题经过翻译处理】 我正在使用 AWS RDS Performance Insights 并试图确定谁和什么正在产生数据库负载,在查看“按用户切片”时,我看到预期的主机和用户名交叉引用的数据库连接,但我也看到大量负载来自标记为“未知”用户的主机。

我正在使用 SQL Server 数据库。

有其他人经历过这种情况或者能够解释为什么我会看到这种行为? 谢谢你的帮助

profile picture
EXPERTE
gefragt vor 8 Monaten53 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 你好,

在性能洞察中看到“未知”用户的原因是,RDS Performance Insights 从数据库引擎的内部表中收集数据。如果字段为 NULL 或为空,Performance Insights 会将此值报告为“未知”。这使得确定数据库负载的报告指标(例如等待统计信息)更加准确。 “未知”的真正意思是“数据不可用”或“数据未标记”....为了以某种方式提供帮助,我在下面提供了一个查询,以查找最近运行的查询的实际用户名,以手动方式找出谁是未知用户:

USE master
go 
SELECT sdest.DatabaseName
    ,sdes.session_id
    ,sdes.[host_name]
    ,sdes.[program_name]
    ,sdes.client_interface_name
    ,sdes.login_name
    ,sdes.login_time
    ,sdes.nt_domain
    ,sdes.nt_user_name
    ,sdec.client_net_address
    ,sdec.local_net_address
    ,sdest.ObjName
    ,sdest.Query
FROM sys.dm_exec_sessions AS sdes
INNER JOIN sys.dm_exec_connections AS sdec ON sdec.session_id = sdes.session_id
CROSS APPLY (
    SELECT db_name(dbid) AS DatabaseName
        ,object_id(objectid) AS ObjName
        ,ISNULL((
                SELECT TEXT AS [processing-instruction(definition)]
                FROM sys.dm_exec_sql_text(sdec.most_recent_sql_handle)
                FOR XML PATH('')
                    ,TYPE
                ), '') AS Query
    FROM sys.dm_exec_sql_text(sdec.most_recent_sql_handle)
    ) sdest
where sdes.session_id <> @@SPID
--and sdes.nt_user_name = '' -- Put the username here !
ORDER BY sdec.session_id

你可以运行上面的共享 SQL 查询来检查用户对 SQL Server 实例施加了多少负载

如果您还有其他问题,请告诉我。

profile picture
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen