Подсказка блокировки таблицы по умолчанию на SQL Server 2005/2008

Как посмотреть подсказку о блокировке глобальной таблицы по умолчанию?

-Вопросы

Существуют ли какие-либо DMV / DMF (представление / функция динамического управления), которые возвращают такую ​​информацию?
А также, есть ли способ изменить подсказку о блокировке по умолчанию?

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

 egrunin06 окт. 2010 г., 16:00
Это звучит очень странно - есть ли какая-то ошибка в дизайне БД, которую вы пытаетесь обойти?
 Sung M. Kim06 окт. 2010 г., 16:02
Я просто пытаюсь увидеть, если отсутствиеnolock подсказка в хранимых процедурах является причиной всех тайм-аутов запросов

Ответы на вопрос(2)

READ COMMITTED

Это может быть изменено в

сеанс, пакетное использование [SET TRANSACTION ISOLATION LEVEL] []использование таблицынастольные подсказкиуровень базы данных для типов снимков с использованиемALTER DATABASE ..xxSNAPSHOTxx

NOLOCK везде совершеннонеправильный И здесь тоже:

Является ли NOLOCK (подсказка Sql Server) плохой практикой?Когда целесообразно использовать NOLOCK?Избавьтесь от этих подсказок NOLOCK ...Почему использование NOLOCK плохо

Редактировать: после комментария о времени ожидания запроса ...

Запрос с NOLOCK все еще может потреблять огромные ресурсы процессора и ввода-вывода. Блокировка не такая уж большая проблема. Если это так, то другой запрос занимает слишком много времени, вероятно, потребляя огромные ресурсы процессора и ввода-вывода ...

 Sung M. Kim06 окт. 2010 г., 16:37
+1 Я не знал, что NOLOCK иногда может быть таким плохим. Позвольте мне проверить разные способы проверки того, где может происходить блокировка. Благодарю. ГБН.
Решение Вопроса

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

Однако вы можете установить уровни изоляции, чтобы контролировать, могут ли отдельные транзакции считывать изменения данных, сделанные другими транзакциями. Это делается через

SET TRANSACTION ISOLATION LEVEL

Ваш ответ на вопрос