Способ предварительного просмотра (ретро-просмотра) SQL-запросов SQL Server Management Studio Express

StackOverflow https://stackoverflow.com/questions/232677

  •  04-07-2019
  •  | 
  •  

Вопрос

Подскажите, пожалуйста, можно ли предварительно просмотреть (или хотя бы ретро-просмотр, например, в своеобразном лог-файле) SQL-команды, которые SQL Server Management Studio Express собирается выполнить (или только что выполнила)?

Раньше я использовал Embarcadero DBArtisan, который показывает выполнение SQL-запросов перед их фактическим запуском на сервере, поэтому мне очень нравится эта функция в Management Studio.

Я нашел опцию «Автогродирующие сценарии изменения», но в нем показаны только запросы DDL SQL (изменение структуры), а не изменение данных.

Это было полезно?

Решение

Чтобы ответить на вопрос о просмотре базовых запросов, выполняемых при использовании Management Studio, есть два способа сделать это.

Большинство диалоговых окон в Management Studio позволяют создавать сценарий изменений в файле или буфере обмена, который может быть полезен для анализа внутренних процессов, а также для применения изменений между серверами разработки, промежуточными и производственными серверами.

Альтернативным решением может быть запуск SQL Server Profiler и фильтрация по

  • Имя приложения для Management Studio
  • Логин для вашей учетной записи

Некоторые из стандартных шаблонов трассировки T-SQL подойдут, или, если вы создадите собственный шаблон трассировки, включите поле TextData в событиях T-SQL SQL:BatchCompleted и SQL:BatchStarting.

Другие советы

Вы можете использовать Query Profiler (из SQL) для просмотра запросов и встраивания в ваш SQL-запрос в транзакцию, а в конце выполнить откат.

BEGIN TRAN

 INSERT INTO Clients 
 SELECT 'Bruno', 'Alexandre';

END

ROLLBACK TRAN

когда вы откатываете транзакцию, процесс возвращается к началу BEGIN TRAN, и вы можете быть уверены, что ничего не было сделано. Это способ фиксации запросов и безопасного отката, если SQL обнаружит ошибку...

нравиться:

IF @@ERROR > 0 GOTO Error

:Error
ROLLBACK TRANSACTION

Вы можете использовать

SET SHOWPLAN_TEXT ON

В начале вашего пакета план и текст запроса будут возвращены вам. Запрос не повлияет на строки, пока включен SHOWPLAN_TEXT .

Затем вы можете установить для SHOWPLAN_TEXT значение OFF , чтобы выполнить запрос.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top