SQL Profiler и Tuning Advisor для служб Reporting Services - какие события следует выбирать? - PullRequest
1 голос
/ 24 марта 2010

Я использовал SQL Profiler для создания файла трассировки и советник по настройке, чтобы взять этот файл трассировки и предоставить некоторые рекомендации по обновлению базы данных.

Однако SQL Profiler, похоже, не отслеживает запросы при работе с сервером отчетов, кажется, что профилировщик не захватывает ни один из запросов. Я регистрирую значения по умолчанию (SQL: BatchCompleted и Starting, RPC: завершено и Sessions - существующие соединения)

Какие события я должен записывать в 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]

1 Ответ

1 голос
/ 25 марта 2010

Вот что происходит, и как обойти это.

Похоже, что Reporting Server кэширует данные во временной базе данных. Поскольку в большинстве наших отчетов использовалось общее представление, все эти данные извлекались из кеша.

После выбора «Показать все события» в разделе «Хранимые процедуры» я выбрал CacheHit, CacheInert, CacheMiss, Completed, StmtCompleted и StmtStarting.

Тогда в файле трассировки было достаточно информации, чтобы профилировщик мог оценить и дать рекомендации.

...