我使用 SQL Profiler 生成跟踪文件,并使用优化顾问获取该跟踪文件并提供有关数据库更新的一些建议。
但是,SQL 探查器在针对报告服务器运行时似乎没有跟踪查询,探查器似乎没有捕获任何查询。我正在记录默认值(SQL:BatchCompleted and Starting、RPC:completed 和 Sessions - Existing Connections)
为了运行优化顾问,我应该在 SQL Profiler 中捕获哪些事件?
更新:
BatchStarting 甚至正在捕获一些 SQL;但是它总是与事件或通知表有关:
declare @BatchID uniqueidentifier
set @BatchID = NEWID()
UPDATE [Event] WITH (TABLOCKX)
SET [BatchID] = @BatchID,
[ProcessStart] = GETUTCDATE(),
[ProcessHeartbeat] = GETUTCDATE()
FROM (
SELECT TOP 8 [EventID] FROM [Event] WITH (TABLOCKX) WHERE [ProcessStart] is NULL ORDER BY [TimeEntered]
) AS t1
WHERE [Event].[EventID] = t1.[EventID]
select top 8
E.[EventID],
E.[EventType],
E.[EventData]
from
[Event] E WITH (TABLOCKX)
where
[BatchID] = @BatchID
ORDER BY [TimeEntered]