Вам нужно захватить выполненные операторы, используя Extended Events сеанс или Profiler .Рекомендуемый способ - использовать расширенные события.Вам необходимо создать сеанс и указать, какие события вас интересуют и где хранить захваченные данные.В SSMS откройте окно запроса и выполните этот запрос:
CREATE EVENT SESSION [Capture_Datagrip_Queries]
ON SERVER
ADD EVENT sqlserver.sql_statement_completed(
ACTION
(
sqlserver.sql_text
)
WHERE
(
database_id = 9
)
)
ADD TARGET package0.event_file
(
SET filename = 'D:\XE\Datagrip.xel',
max_file_size = 5,
max_rollover_files = 1
)
Поместите database_id базы данных, в которой будут выполняться запросы (в моем примере это 9).Вы можете получить его, выполнив этот запрос select db_id(N'MyDatabaseName')
.Это уменьшит накладные расходы, захватив только соответствующую информацию, но в противном случае часть where является необязательной.Также имейте в виду, что файл будет создан на компьютере, на котором работает SQL Server.Не добавляйте путь с вашего локального компьютера.Кроме того, вы можете добавить дополнительную информацию для захвата, если хотите.
После того, как вы создали этот сеанс, вы можете запустить / остановить его, используя следующие запросы:
ALTER EVENT SESSION [Capture_Datagrip_Queries] ON SERVER STATE = START
ALTER EVENT SESSION [Capture_Datagrip_Queries] ON SERVER STATE = STOP
Или в SSMSиспользуя узел Management \ Extended Events \ Sessions
в Обозревателе объектов.Не оставляйте сеанс запущенным дольше, чем необходимо.
Вы можете увидеть результаты в SSMS - под сеансом есть узел package0.event_file
.Дважды щелкните по нему, чтобы увидеть собранные данные.