You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确配置SQL Server Profiler 避免每小时停止运行的问题

SQL Server Profiler跟踪Analysis Services自动停止解决方案

问题根因

Profiler默认配置了1小时的自动停止阈值,同时未配置滚动更新策略导致缓冲区满后自动停止,另外客户端跟踪本身的稳定性限制也会导致运行中断。

正确配置步骤

  • 取消自动停止时间限制
    新建跟踪连接到Analysis Services实例后,打开跟踪属性的常规选项卡,取消勾选启用跟踪停止时间;如果需要按日归档,可以将停止时间设置为当日23:59:59,配合SQL Server代理作业次日自动重建新跟踪。
  • 配置滚动更新与存储策略
    1. 在事件选择选项卡勾选所有需要捕获的AS运行事件,仅保留必要事件避免性能损耗
    2. 切换到事件提取设置选项卡,勾选启用文件滚动更新,设置单文件大小上限为1~2GB,同时勾选保存到表,选择目标SQL Server实例、库和指定数据表,取消勾选达到最大行数时停止跟踪,可根据存储需求设置合理的最大行数阈值。
  • 调整缓冲区提升稳定性
    进入跟踪属性的高级选项卡,将缓冲区大小调整为30720KB(30MB)以上,可根据服务器剩余内存适当上调,勾选服务器进程跟踪数据选项,避免客户端内存不足导致跟踪中断。
  • (推荐)改用服务端跟踪替代客户端Profiler
    Profiler是客户端工具,网络波动、客户端进程异常都会导致跟踪中断,长期运行场景建议使用XMLA脚本创建AS服务端跟踪,示例脚本如下:
    <Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
      <ObjectDefinition>
        <Trace>
          <ID>AS_Daily_Log_Trace</ID>
          <Name>AS每日运行日志跟踪</Name>
          <LogFileName>C:\AS_Trace\Daily_Trace.trc</LogFileName>
          <LogFileSize>2048</LogFileSize>
          <LogFileRollover>true</LogFileRollover>
          <StopTime>2024-05-20T23:59:59</StopTime>
          <!-- 下方配置需要捕获的事件 -->
          <Events>
            <Event>
              <EventID>0</EventID>
              <Columns>
                <ColumnID>0</ColumnID>
                <ColumnID>1</ColumnID>
              </Columns>
            </Event>
          </Events>
        </Trace>
      </ObjectDefinition>
    </Create>
    
    服务端跟踪创建后可通过SQL Server代理作业每日定时调度,自动停止前一日跟踪并创建新跟踪,将生成的trc文件定期导入目标SQL表即可。

额外注意事项

  • 运行跟踪的账号需要具备Analysis Services服务器管理员权限,以及目标SQL数据表的写入权限
  • 生产环境使用时避免捕获所有事件,仅保留查询、处理、错误等必要事件,降低对AS实例的性能影响
  • 若需要7*24小时无间断日志采集,可配置两个跟踪作业轮换启停,避免单日跟踪切换时出现日志缺口

内容的提问来源于stack exchange,提问作者Nilton Henrique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:39:03