Подтвердить что ты не робот

Сухой запуск запроса SQL Server

Я запускаю много запросов, которые выполняют INSERT, вставляют SELECT, UPDATE и ALTER в таблицы, а при разработке этих запросов - промежуточные шаги, которые выполняются для проверки того, что различные части работы запроса, потенциально изменить таблицу или данные в таблице.

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

В тот момент мне нужно создать резервную копию базы данных, запустить запрос, если он работает, хорошо, если это не так, мне нужно восстановить базу данных, которая может занять около часа, и я попытаюсь избежать траты все это время необходимо восстановить базы данных.

4b9b3361

Ответ 1

Используйте транзакцию SQL, чтобы внести изменения, а затем отмените их.

Перед тем, как выполнить script:

BEGIN TRANSACTION;

После выполнения script и проверки:

ROLLBACK TRANSACTION;

Каждое изменение в вашем script будет отменено.

Примечание. Убедитесь, что у вас нет COMMIT в script!

Ответ 2

Начните транзакцию, выполните операции таблицы и откат, как показано ниже:

BEGIN TRAN

UPDATE  C
SET column1 = 'XXX'
FROM table1 C

SELECT *
FROM table1
WHERE column1 = 'XXX'

ROLLBACK TRAN

Откат всех операций, выполняемых с момента последнего фиксации с начала этой транзакции.