Compartilhar via


Alterar ordem das colunas em uma tabela

Aplica-se a: SQL Server 2016 (13.x) e posteriores Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure PDW (Analytics Platform System)

Altere 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 recomendado, é possível alterar a ordem das colunas em uma tabela ao recriar a tabela.

A adição de colunas a uma tabela por padrão as adiciona ao final da tabela, conforme recomendado.

Recomendações

Melhores práticas para a ordem das colunas da tabela:

  • Para alterar a ordem das colunas exibidas em um conjunto de resultados, relatório ou aplicativo, use a ordem das colunas 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. A adição ou remoção de colunas pode causar comportamento inesperado ou erros em aplicativos.
  • Adicionar colunas no 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. Analise cuidadosamente todas as alterações que deseja fazer à ordem das colunas.

Usar o SQL Server Management Studio

Altere a ordem da coluna

Embora não seja recomendado, é possível alterar a ordem das colunas em uma tabela usando o SSMS (SQL Server Management Studio). Essa operação exige a recriação da tabela.

Importante

Sempre use a última versão do SQL Server Management Studio (SSMS).

  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 Mensagem de erro Salvar alterações não é permitido no SSMS. Em vez disso, é recomendável executar esses tipos de alterações, com reconhecimento total de seu impacto, por meio de etapas do Transact-SQL que representam permissões e metadados.

Cuidado

A recriação de 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 muito espaço no log de transações.

Usar o Transact-SQL

Não há suporte para a alteração da ordem das colunas por meio de 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