Alterar ordem de colunas em uma tabela

Aplica-se a: SQL Server 2016 (13.x) e posterior SQL do Azure DatabaseInstância Gerenciada de SQL do AzureAnalytics Platform System (PDW)

Você pode alterar a ordem das colunas no Designer de Tabela no SSMS (SQL Server Management Studio). Por padrão, um mecanismo de segurança do SSMS bloqueia a alteração da ordem das colunas. Embora não seja recomendável, você pode alterar a ordem das colunas em uma tabela recriando a tabela.

Adicionar colunas a uma tabela por padrão as adiciona ao final da tabela, conforme recomendado.

Recomendações

Práticas recomendadas com ordem de coluna de tabela:

  • Para alterar a ordem das colunas exibidas em um conjunto de resultados, relatório ou aplicativo, use a ordem de coluna em uma instrução SELECT (Transact-SQL ). Sempre especifique as colunas por nome em suas consultas e aplicativos na ordem em que você gostaria que elas aparecessem.
  • Não use SELECT * em aplicativos. Colunas adicionadas ou removidas podem causar comportamento inesperado ou erros em aplicativos.
  • Adicione novas colunas ao final das tabelas.

Cuidado

A alteração da ordem das colunas de uma tabela pode afetar o código e os aplicativos que dependam da ordem específica das colunas. Isso inclui consultas, exibições, procedimentos armazenados, funções definidas pelo usuário e aplicativos clientes. Considere cuidadosamente as alterações que você deseja fazer na ordem das colunas.

Usar o SQL Server Management Studio

Altere a ordem da coluna

Embora não seja recomendado, você pode alterar a ordem das colunas em uma tabela usando SQL Server Management Studio (SSMS). Isso requer a recriação da tabela.

Importante

Sempre use a versão mais recente do SSMS (SQL Server Management Studio).

  1. No Pesquisador de Objetos, clique com o botão direito do mouse na tabela cujas colunas você deseja reordenar e selecione Design.

  2. Selecione a caixa à esquerda do nome da coluna que você deseja reordenar.

  3. Arraste a coluna para outro local dentro da tabela.

Você pode ser impedido de fazer essas alterações por um recurso de segurança importante do SSMS, controlado pela configuração Evitar salvar alterações que exigem recriação da tabela. Essa configuração é habilitada para evitar a remoção/recriação acidental da tabela por meio de do SSMS, o que pode ser uma interrupção e resultar na perda de metadados ou permissões. Para obter mais informações, confira a mensagem de erro "Salvar alterações não é permitido" no SSMS. Em vez disso, é recomendável que você execute esses tipos de alterações, com total reconhecimento do impacto, por meio de etapas do Transact-SQL que respondem por permissões e metadados.

Cuidado

Recriar uma tabela bloqueará o acesso simultâneo à tabela para outros usuários e aplicativos. Para tabelas grandes, isso pode exigir uma longa duração e uma grande quantidade de espaço de log de transações.

Usar o Transact-SQL

Não há suporte para a alteração da ordem das colunas usando instruções Transact-SQL. A tabela deve ser removida e recriada para alterar a ordem da coluna.

Comentários

Para consultar colunas existentes, use a exibição do catálogo de objetos sys.columns.

Próximas etapas