Поделиться через


Изменение порядка столбцов в таблице

Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure платформенная система аналитики (PDW)

Порядок столбцов в конструкторе таблиц можно изменить в SQL Server Management Studio (SSMS). По умолчанию механизм безопасности SSMS блокирует изменение порядка столбцов. Хотя это не рекомендуется, можно изменить порядок столбцов в таблице, повторно создав таблицу.

Добавление столбцов в таблицу по умолчанию добавляет их в конец таблицы, как рекомендуется.

Рекомендации

Рекомендации по упорядочению столбцов таблицы:

  • Чтобы изменить порядок столбцов, отображаемых в результирующем наборе, отчете или приложении, используйте порядок столбцов в инструкции SELECT (Transact-SQL). Всегда указывайте столбцы в запросах и приложениях по именам в том порядке, в котором они должны следовать.
  • Не используйте SELECT * в приложениях. Добавленные или удаленные столбцы могут вызвать непредвиденное поведение или ошибки в приложениях.
  • Добавьте новые столбцы в конец таблиц.

Внимание

Изменение порядка столбцов в таблицы влияет на коды и приложения, которые зависят от определенного порядка столбцов. Это касается запросов, представлений, хранимых процедур, определяемых пользователем функций и клиентских приложений. Внимательно рассмотрите все изменения, которые нужно внести в порядок столбцов.

Использование SQL Server Management Studio

Изменение порядка столбцов

Хотя это не рекомендуется, можно изменить порядок столбцов в таблице с помощью СРЕДЫ SQL Server Management Studio (SSMS). Для этого требуется воссоздать таблицу.

Внимание

Всегда используйте последнюю версию SQL Server Management Studio (SSMS).

  1. В обозревателе объектов щелкните правой кнопкой мыши таблицу со столбцами, которые нужно переупорядочить, и выберите Конструктор.

  2. Выберите окно, находящееся слева от названия столбца, который нужно переупорядочить.

  3. Перетащите столбец в другое местоположение внутри таблицы.

Внесение этих изменений может быть заблокировано важной функцией безопасности SSMS, которая управляется параметром Запретить сохранение изменений, требующих повторного создания таблицы. Этот параметр включен для предотвращения случайного удаления или повторного создания таблицы с помощью диалоговых окон SSMS, что может привести к нарушению работы и потере метаданных или разрешений. Дополнительные сведения см. в разделе "Сохранение изменений запрещено" сообщение об ошибке в SSMS. Вместо этого рекомендуется выполнить эти изменения с полной осведомленностью о их влиянии с помощью шагов Transact-SQL, которые учитывают разрешения и метаданные.

Внимание

Повторное создание таблицы блокирует одновременный доступ к таблице для других пользователей и приложений. Для больших таблиц это может потребовать длительности и большого объема пространства журнала транзакций.

Использование Transact-SQL

Изменение порядка столбцов не поддерживается с помощью инструкций Transact-SQL. Таблицу необходимо удалить и создать заново, чтобы изменить порядок столбцов.

Замечания

Чтобы запросить существующие столбцы, используйте представление каталога объектов sys.columns.

Следующие шаги