Partilhar via


Alterar a ordem das colunas numa tabela

Aplica-se a: SQL Server 2016 (13.x) e posterior Banco de Dados SQL do AzureInstância Gerenciada do SQL do Azureo PDW (Analytics Platform System)banco de dados SQL no Microsoft Fabric

Você pode alterar a ordem das colunas em do Designer de Tabela no SQL Server Management Studio (SSMS). Por padrão, um mecanismo de segurança do SSMS bloqueia a alteração da ordem das colunas. Embora não seja recomendado, 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, como é recomendado.

Recomendações

Práticas recomendadas com ordem de 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. Colunas adicionadas ou removidas podem causar comportamento inesperado ou erros em aplicativos.
  • Adicione novas colunas ao final das tabelas.

Atenção

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

Usar o SQL Server Management Studio

Alterar a ordem das colunas

Embora não seja recomendado, você pode alterar a ordem das colunas em uma tabela usando o SQL Server Management Studio (SSMS). Para isso, é necessário recriar a tabela.

Importante

Use sempre a versão mais recente do SQL Server Management Studio (SSMS).

  1. No Explorador de Objetos, clique com o botão direito do rato na tabela com as colunas que deseja reordenar e selecione Design.

  2. Selecione a caixa à esquerda do nome da coluna que pretende reordenar.

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

Você pode ser bloqueado fazendo essas alterações por um recurso de segurança importante do SSMS, controlado pela configuração Impedir salvar alterações que exigem recriação de tabela. Essa configuração é habilitada para evitar quedas/recriações acidentais da tabela por meio de diálogos do SSMS, que podem causar interrupções e resultar na perda de metadados ou permissões. Para obter mais informações, consulte mensagem de erro "Salvar alterações não é permitido" no SSMS. Em vez disso, é recomendável executar esses tipos de alterações, com total consciência de seu impacto, por meio de Transact-SQL etapas que levam em conta permissões e metadados.

Atenção

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 uma grande quantidade de espaço no log de transações.

Utilize Transact-SQL

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

Comentários

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

Próximos passos