Как проверить базу данных SQL Server во время транзакции? - PullRequest
1 голос
/ 29 июля 2011

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

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

Ответы [ 4 ]

2 голосов
/ 29 июля 2011

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

2 голосов
/ 29 июля 2011
SELECT * FROM dbo.Table WITH (NOLOCK)

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

0 голосов
/ 14 декабря 2014

Расширение идеи WITH (NOLOCK), выраженной в других ответах ... Вы можете просто:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

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

0 голосов
/ 29 июля 2011

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

...