Исправление: SELECT INTO поведение блокировки

Переводы статьи Переводы статьи
Код статьи: 153441 - Vizualiza?i produsele pentru care se aplic? acest articol.
ОШИБКА #: 14818 (DCR 6.50)
Развернуть все | Свернуть все

Аннотация

В SQL Server 6.5 SELECT INTO переносится в пределах транзакции. Свойства транзакций ACID (атомарность, согласованность, изоляцию, устойчивости) содержат таблицы, созданные с помощью SELECT INTO. Это также означает, что системные ресурсы, такие как страницы, области и блокировки удерживаются на время выполнения инструкции SELECT INTO. С помощью больших системных объектов это приводит к условие где внутренних задач могут быть заблокированы другим пользователям при выполнении инструкции SELECT INTO. Например на серверах высокой активности, многие пользователи, запустив программу SQL Enterprise Manager для наблюдения за системными процессами может блокировать друг друга, что приводит к условия, положения SEM приложение перестанет отвечать на запросы.

Дополнительная информация

При обновлении до SQL Server 6.5 с пакетом обновления 1 (SP1), SELECT INTO блокировки характеристики — это возможность устанавливать системы. Перенос SELECT INTO с транзакцией, остаются по умолчанию. Для пользователей, не желающих удерживает блокировки каталог системы на действие был добавлен флаг трассировки для таких операций. Для установки флага трассировки, запустить сервер с - T5302 параметр командной строки, или в окне запроса выполните следующие команды:
dbcc traceon (3604)
go
dbcc traceon (5302)
go
				

Если флаг трассировки 5302 применяется и SELECT INTO не может, по-прежнему создается таблица. Обратите внимание, что режим блокировки, при выборе применяется для всех баз данных на сервере.



Важно понимать, что даже при использовании трассировки флаг 5302 включена, при SELECT INTO выполняется в SQL Server 6.5 в контексте явной транзакции (то есть BEGIN TRAN), системные таблицы по-прежнему будет заблокирован до завершения транзакции. Это обусловлено тем, что несмотря на то, что флаг трассировки позволяет серверу выполнять 2 операции SELECT INTO, создания целевой таблицы этапа действует инструкции DDL в рамках транзакции.

Любая инструкция CREATE TABLE в рамках транзакции будет содержать EX_PAGE блокировку sysobjects sysindexes и syscolumns. SQL Server 6.0 не позволяли SELECT INTO, который должен быть выполнен как часть явной транзакции, определяемый пользователем. При попытке сделать это приведет к 226 сообщений, "SELECT INTO нельзя использовать в транзакции из нескольких команд".

Примечание.:Эта проблема не применяется к SQL Server 7.0 и более поздних версий.

Свойства

Код статьи: 153441 - Последний отзыв: 14 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 6.5 Standard Edition
Ключевые слова: 
kbfix kbnetwork kbmt KB153441 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:153441
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com