Можно также сделать
new List<string>() { "string here" };
Блокировка SQL Server основана на концепциях из Обработка транзакций: концепции и методы . В этой книге очень подробно объясняется, как получить замки, какие замки необходимы и почему все должно быть таким, как оно есть.
Ресурсы, на которые ссылается Марк, хорошо освещают эту тему, но детали разбросаны, и вам нужно знать, где искать. Вот пример для начала:
Уровни изоляции транзакции влияют только на блокировку чтения. При нормальном чтении зафиксировано
при чтении строки устанавливается S-блокировка, которая снимается сразу после чтения. Если уровень изоляции повышен до повторяющееся чтение
, то S-блокировки удерживаются до завершения транзакции. На более высоком сериализуемом
уровне блокировки диапазона размещаются вместо простых блокировок строк, и они удерживаются до фиксации транзакции. Режимы моментальных снимков отличаются тем, что они не обязательно влияют на тип блокировки, но вместо этого источник чтения: строки извлекаются из хранилища версий.
Порядок / иерархия блокировок всегда один и тот же:
Подсказки блокировки никогда не могут изменить порядок блокировок, они могут только изменить:
Я не особо много говорил о вставке / обновлении / удалении, поскольку они довольно неинтересны: они требуют блокировок X, вот и все. Единственное, что интересно в этом, так это то, как работает обновление, потому что оно сначала получает U-блокировку, которая позже преобразуется в X-блокировку. Такое поведение необходимо для использования асимметрии U-блокировки , которая позволяет сбросить ожидающие S-блокировки до того, как будет продолжено обновление.
Надеюсь, вы сможете найти все детали, упущенные из статей и ссылки на книги.
Как насчет этого:
ОБНОВЛЕНИЕ: как насчет дополнительных сведений об уровнях изоляции транзакций и подсказках по запросам:
Если вас интересуют эти довольно сложные темы, я настоятельно рекомендую вам получить книгу Внутренние элементы SQL Server 2008 Калена Делани (и других), в которой есть все эти мельчайшие подробности - даже в В этой книге "блокирующая" тема начинается только на страницах 610 и выше: -)
Марк