Sql server 在SQL Server中跟踪会话中缓慢的用户登录

Sql server 在SQL Server中跟踪会话中缓慢的用户登录,sql-server,session,login,database-performance,Sql Server,Session,Login,Database Performance,背景: 我们有许多大小相似、模式相同的数据库。它们都具有相同的设置,并放置在同一实例上。每个人都使用应用程序访问和查询数据库。在应用程序中,所有数据库的所有连接字符串都是相同的(登录名和密码除外)。许多用户在登录和查询我们的一个数据库时会遇到明显的缓慢,但在其他数据库中却没有 问题: 其中一个数据库的访问速度越来越慢。查询执行时间也会受到影响,但影响程度不如用户登录所需的时间大。现在登录大约需要50秒。对于所有其他数据库,登录时间仅为4-5秒 问题: 我想比较“健康数据库”上的正常登录会话和问题

背景:

我们有许多大小相似、模式相同的数据库。它们都具有相同的设置,并放置在同一实例上。每个人都使用应用程序访问和查询数据库。在应用程序中,所有数据库的所有连接字符串都是相同的(登录名和密码除外)。许多用户在登录和查询我们的一个数据库时会遇到明显的缓慢,但在其他数据库中却没有

问题:

其中一个数据库的访问速度越来越慢。查询执行时间也会受到影响,但影响程度不如用户登录所需的时间大。现在登录大约需要50秒。对于所有其他数据库,登录时间仅为4-5秒

问题:


我想比较“健康数据库”上的正常登录会话和问题数据库上的登录会话。您能否建议一种方法来监控登录会话中到底发生了什么?我知道如何跟踪针对特定数据库运行的查询,但我不知道如何查找导致登录速度慢的原因。探查器或扩展事件是否会显示此类信息?是否有其他方法可以分析用户等待登录期间发生的情况?

您可以使用SQL Server Profiler跟踪发送到ddbb的每个查询,并能够根据用户名、数据库名等进行筛选


我想看看ddbb索引和统计数据,因为如果没有很好地维护,这些都可能会降低ddbb的速度。

谢谢奥斯卡。它会显示通过应用程序运行的每个查询的执行时间吗?@QWE是的,同时显示开始时间和结束时间。我建议@Oscar在您的答案中按名称识别一些事件和列,这对跟踪很有用吗?例如,
SQL:BatchCompleted
SQL:StmtCompleted
事件的
持续时间
StartTime
EndTime
列已选中。