Ошибка при попытке изменить большую таблицу с помощью SQL Server Management Studio

Эта статья поможет устранить проблему, возникающую при попытке изменить большую таблицу с помощью конструктора таблиц в SQL Server Management Studio.

Исходная версия продукта: SQL Server
Исходный номер базы знаний: 915849

Симптомы

При попытке изменить большую таблицу с помощью конструктора таблиц в Microsoft SQL Server Management Studio может появиться сообщение об ошибке, аналогичное следующему:

Не удается изменить таблицу.
Время ожидания истекло. Время ожидания истекло до завершения операции, либо сервер не отвечает.

Причина

Это происходит из-за параметра времени ожидания транзакции для конструктора таблиц и конструктора баз данных в SQL Server Management Studio. Этот параметр можно указать в поле " Время ожидания транзакции". По умолчанию этот параметр составляет 30 секунд.

Примечание.

Этот параметр отличается от параметра в поле времени ожидания выполнения в SQL Server Management Studio. По умолчанию параметр в поле времени ожидания выполнения для Редактор запросов в СРЕДЕ SQL Server Management Studio равен нулю. По умолчанию параметр в поле времени ожидания запроса (секунды) для Редактор запросов в анализаторе запросов SQL Server 2000 также равен нулю. Таким образом, Редактор запросов бесконечно ожидает завершения запроса и никогда не истекает время ожидания.

Решение

Чтобы устранить это поведение, используйте один из следующих методов:

  • Щелкните, чтобы очистить значение времени ожидания переопределения строка подключения для обновлений конструктора таблиц для конструктора таблиц и конструктора баз данных в SQL Server Management Studio.

  • Укажите высокий параметр во время ожидания транзакции для конструктора таблиц и конструктора баз данных в SQL Server Management Studio.

  • Измените большую таблицу с помощью инструкций Transact-SQL в Редактор запросов в SQL Server Management Studio.

Дополнительные сведения об этих параметрах см. в разделе "Параметры" (страница конструкторов таблиц и конструкторов баз данных).

Состояние

Такое поведение предусмотрено программой.

Дополнительные сведения

Изменение большой таблицы может занять много времени. Это связано с тем, что SQL Server должен выполнять следующие действия при попытке изменить схему таблицы:

  1. Создайте временную таблицу с той же схемой таблицы.
  2. Скопируйте все данные из фактической таблицы во временную таблицу.
  3. Удалите фактическую таблицу.
  4. Переименуйте временную таблицу в имя фактической таблицы.