Alterar a ordem das colunas numa tabela
Aplica-se a: SQL Server 2016 (13.x) e posterior
Banco de Dados SQL do Azure
Instância Gerenciada do SQL do Azure
o 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).
No Explorador de Objetos, clique com o botão direito do rato na tabela com as colunas que deseja reordenar e selecione Design.
Selecione a caixa à esquerda do nome da coluna que pretende reordenar.
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.