【问题标题】:SQL Server Profiler needs too much memorySQL Server Profiler 需要太多内存
【发布时间】:2011-08-31 06:24:44
【问题描述】:

我正在使用 SQL Server Profiler 记录软件的活动,该软件创建了一个约 50 GB 的数据库,其中包含超过 300 个表,包括数据。 Profiler 将跟踪日志保存到第二个数据库中的表中,稍后将用于分析。

但是,SQL Server Profiler 的内存使用存在问题,因为应用程序在界面的表格中显示了 ALL (!) Traces。结果,应用程序在几分钟后需要超过 3 GB。我没有超过 50 GB 的内存!

有没有办法禁用这个表,只登录到数据库中的一个表?能够记录相同信息的命令行工具也很棒。

【问题讨论】:

    标签: sql database trace sql-server-profiler


    【解决方案1】:

    有一大堆存储过程/函数等用于创建跟踪,而无需使用 SQL Server 分析器 UI。太多了,这里就不一一列举了,但是文档的根是Introducing SQL Trace。您应该希望能够找到正确的组合来调用以获取所需的跟踪。

    这些服务器端跟踪必须存储到文件中,而不是存储到另一个表中,但如果您需要它们进行分析,您可以随时将它们导入到表中。

    【讨论】:

    • 谢谢,但我不想使用这些存储过程,因为它会导致创建和导入 > 50 GB 的文件。 (我认为跟踪将变得远远超过 100 GB。)我希望今天这里有足够的咖啡,或者其他解决方案。 :-(
    • @DiableNoir - 您可以为跟踪设置最大文件大小,并在达到该大小时将其翻转到新文件。 Profiler 使用行集跟踪提供程序。如果您想创建自定义应用程序来执行此操作,Microsoft.SqlServer.Management.Trace 也使用(我假设)。
    猜你喜欢
    • 2013-08-17
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    相关资源
    最近更新 更多