Уровни изоляции транзакций
Применимо к: SQL Server Управляемый экземпляр SQL Azure
SQL Server не дает гарантии того, что указания блокировки будут соблюдаться в запросах, осуществляющих доступ к метаданным через представления каталога, представления совместимости, представления информационной схемы и встроенные функции, создающие метаданные.
Внутри системы компонент Компонент SQL Server Database Engine использует для доступа к метаданным только уровень изоляции READ COMMITTED. Если у трансляции есть уровень изоляции, например SERIALIZABLE, а внутри транзакции делается попытка осуществления доступа к метаданным при помощи представления каталога или встроенных функций, создающих метаданные, то эти запросы будут выполняться до завершения выполнения как READ COMMITTED. Однако в изоляции моментальных снимков доступ к метаданным будет запрещен из-за одновременных операций DDL. Это происходит из-за несоответствия версий метаданных. Таким образом, доступ в изоляции моментальных снимков может быть запрещен из-за:
Представления каталога
представлений совместимости;
Представления информационной схемы
встроенных функций, создающих метаданные;
групп хранимых процедур sp_help;
процедур каталога Native Client SQL Server;
динамических административных представлений и функций.
Дополнительные сведения об уровнях изоляции см. в статье SET TRANSACTION ISOLATION LEVEL (Transact-SQL).
В следующей таблице приведена сводка доступов к метаданным в различных уровнях изоляции.
Уровень изоляции | Поддерживается | Соблюдается |
---|---|---|
READ UNCOMMITTED | Нет | Не гарантируется |
READ COMMITTED | Да | Да |
REPEATABLE READ | нет | Нет |
SNAPSHOT ISOLATION | нет | Нет |
SERIALIZABLE | нет | Нет |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по