Вам нужно блокировать других от чтения тех же данных? Зачем использовать транзакцию?
@ Джоэл - Мой вопрос лучше сформулировать как «Зачем использовать транзакцию в запросе на чтение?»
@ Stefan - Если вы собираетесь использовать AdHoc SQL, а не сохраненный процесс, просто добавьте WITH (NOLOCK) после таблиц в запросе. Таким образом, вы не несете накладные расходы (хотя и минимальные) в приложении и базе данных для транзакции.
SELECT * FROM SomeTable WITH (NOLOCK)
РЕДАКТИРОВАТЬ @ Комментарий 3: Поскольку в тегах вопросов у вас был «sqlserver», я предположил, что MSSQLServer был целевым продуктом. Теперь, когда этот вопрос прояснен, я отредактировал теги, чтобы удалить ссылку на конкретный продукт.
Я до сих пор не уверен, почему вы хотите совершить транзакцию с операцией чтения.