Использование уровня изоляции SNAPSHOT увеличит нагрузку на базу данных при увеличении нагрузки на базу данных.
Изменение методов блокировки лучше всего выполнять с помощью подсказок блокировки в запросах или путем изменения уровня изоляции вобщие для хранимой процедуры или подключения.Это делается с помощью команды SET ISOLATION LEVEL или путем изменения уровня изоляции объекта соединения в .NET.
Если вы хотите, чтобы SQL Server обрабатывал свою блокировку на уровне, отличном от уровня страницы по умолчанию (т.е.блокировка на уровне строк), которая должна обрабатываться в операторе по уровню инструкции с помощью подсказки WITH (ROWLOCK) в ваших операторах.
UPDATE YourTable (WITH ROWLOCK)
SET Col2 = 3
WHERE Col1 = 'test'
Нет глобального параметра для изменения этого уровня блокировки, и еслиROWLOCK используется в сочетании с операциями на уровне изоляции моментальных снимков, которые будут по-прежнему выполняться на уровне страницы, поскольку вся страница должна быть скопирована в базу данных tempdb, а затем обновлена, после чего старая версия должна быть удалена из базы данных tempdb.