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

Применимо к: SQL Server 2016 (13.x) и более поздних версий Azure SQL DatabaseУправляемый экземпляр SQL AzureAnalytics Platform System (PDW)

Вы можете изменить порядок столбцов в Designer таблицы в 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.

Дальнейшие действия