Настройка степени блокировки для всех операторов в хранимой процедуре - Microsoft SQL Server 2000 - PullRequest
0 голосов
/ 06 октября 2010

Я разрабатываю приложение ETL с пакетной обработкой. Существует низкий (т. Е. Нет) параллелизм для обновлений. Я хотел бы избежать накладных расходов на гранулярные блокировки и их повышение, просто блокируя всю таблицу.

Я бы не хотел указывать TABLOCK в каждом выражении. Есть ли способ установить гранулярность блокировки в верхней части хранимой процедуры, чтобы каждый оператор автоматически получал блокировки таблицы для каждой используемой таблицы? Совместное использование или исключение не имеет значения, хотя совместное использование является предпочтительным; ETL будет работать всю ночь без загрузки запроса adhoc и до того, как пакет отчетов сработает после завершения ETL.

Спасибо!

1 Ответ

0 голосов
/ 06 октября 2010

Вам нужно будет взглянуть на Уровни изоляции транзакции

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

...