相关疑难解决方法(0)

在生产中的数据库上使用 SQL Profiler

作为开发人员,我经常使用 SQL Profiler。这是一个很好的调试工具,既可以跟踪我的代码在做什么,也可以分析性能问题。

但是我一直在我的开发环境中使用它,并且以一种非常可控的方式使用它。

  • 启动我的应用程序,并使其进入特定状态
  • 在探查器上开始跟踪
  • 对我的应用程序执行特定的操作序列
  • 停止跟踪并检查结果。

SQL Profiler 能否在生产环境中实际使用?

我首先担心的是它会降低性能。

我的第二个担忧是,因为它正在生产中,您不会触发有趣的操作本身。您必须让分析器长时间运行,然后分析结果。结果集会变得太笨拙吗?(占用太多磁盘空间,查询太难)。

有人在生产中使用 SQL Profiler 吗?

sql-server profiler

28
推荐指数
3
解决办法
2万
查看次数

SQL Server 死锁图 - 表、页或行锁?

有没有办法破译死锁图中的锁是表级、页级还是行级?我从图中获得了我需要的所有信息,包括隔离级别 (2),但我也很想知道这一点。

感谢任何能提供帮助的人!

sql-server deadlock

10
推荐指数
1
解决办法
5434
查看次数

为什么没有在死锁图中填充对象名和索引名?

我收到了一个请求,要求检查 2008 sp3 服务器(10.0.5500.0 - 企业版(64 位))上的一些错误,看看我是否能找到之前发生的死锁。

Traceflag 1222 未启用,服务器所有者也不想启用它。我使用了扩展事件并使用以下查询提取了一些信息:

    SELECT  CAST(event_data.value('(event/data/value)[1]',
                               'varchar(max)') AS XML) AS DeadlockGraph
FROM    ( SELECT    XEvent.query('.') AS event_data
          FROM      (    -- Cast the target_data to XML 
                      SELECT    CAST(target_data AS XML) AS TargetData
                      FROM      sys.dm_xe_session_targets st
                                JOIN sys.dm_xe_sessions s
                                 ON s.address = st.event_session_address
                      WHERE     name = 'system_health'
                                AND target_name = 'ring_buffer'
                    ) AS Data -- Split out the Event Nodes 
                    CROSS APPLY TargetData.nodes('RingBufferTarget/
                                     event[@name="xml_deadlock_report"]')
                    AS XEventData ( XEvent )
        ) AS tab ( event_data )
Run Code Online (Sandbox Code Playgroud)

我收到了很多信息,看起来像这样: …

sql-server-2008 sql-server deadlock

5
推荐指数
1
解决办法
5200
查看次数

标签 统计

sql-server ×3

deadlock ×2

profiler ×1

sql-server-2008 ×1