2011-07-29 2 views
1

Я пытаюсь отлаживать часть приложения, где в одной транзакции происходит несколько действий в базе данных, а последующие шаги - в зависимости от выполненных ранее. Было бы полезно иметь возможность взглянуть на то, что происходит в базе данных, чтобы каждый шаг был выполнен правильно.Как проверить базу данных SQL Server во время транзакции?

Есть ли способ взглянуть на то, что находится в базе данных во время транзакции?

ответ

2
SELECT * FROM dbo.Table WITH (NOLOCK) 

будет делать то, что вы ищете, просто будьте осторожны с фантомными чтениями.

+0

Если вы отправляете код, XML или образцы данных, ** пожалуйста ** выделите эти строки в текстовом редакторе и нажмите кнопку «образцы кода» ('{}') на панели инструментов редактора, чтобы хорошо выделить и выделить синтаксис Это! –

0

Если вы хотите знать, какие операторы SQL в настоящее время выполняются Profiler

2

использование SQL Server Если вы имеете в виду, что вы хотите посмотреть на данные таблицы (предположение от моего имени), вы всегда можете использовать в WITH (NOLOCK) ограничение на таблицу - но я не уверен, что вы получите все, что было изменено в вашей транзакции.

0

Обобщение WITH (NOLOCK) идеи, высказанной в других ответах ... Вы могли бы просто:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; 

Который затем позволит вам «подглядывать» в данные, которые еще не были совершены сделки отлаживается , Это очень полезно, если вам нужно вызвать хранимые процедуры или функции, которые не могут быть напрямую подвергнуты WITH (NOLOCK).

Смежные вопросы