Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:Azure Synapse Analytics
Renomeia uma tabela criada pelo usuário no Azure Synapse Analytics.
Este artigo se aplica apenas ao Azure Synapse Analytics:
- Para renomear um banco de dados em SQL Server, use o procedimento armazenado sp_renamedb.
- Para renomear um banco de dados no Banco de Dados SQL do Azure, use a ALTER DATABASE instrução (Banco de Dados SQL do Azure).
- Há suporte para a renomeação de pools de SQL dedicados autônomos (anteriormente conhecidos como SQL DW). No momento, não há suporte para renomear um pool de SQL dedicado em espaços de trabalho do Azure Synapse Analytics.
- Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.
Sintaxe
-- Syntax for Azure Synapse Analytics
-- Rename a table.
RENAME OBJECT [::] [ [ database_name . [schema_name ] ] . ] | [schema_name . ] ] table_name TO new_table_name
[;]
Argumentos
RENAME OBJECT [::] [ [database_name. [ schema_name ]. ] | [ schema_name . ] table_namePARA new_table_name
Aplica-se ao: Azure Synapse Analytics
Altere o nome de uma tabela definida pelo usuário. Especifique a tabela a ser renomeada com um nome de uma, duas ou três partes. Especifique a nova tabela new_table_name como um nome de uma parte.
Permissões
Para executar esse comando, é necessário ter esta permissão:
- Permissão ALTER na tabela
Limitações e Restrições
Não é possível renomear uma tabela externa, índices ou exibições
Não é possível renomear uma tabela externa, índices ou exibições. Em vez de renomeá-la, você pode remover a tabela externa, o índice ou a exibição e, em seguida, recriá-la com o novo nome.
Não é possível renomear uma tabela em uso
Não é possível renomear uma tabela ou um banco de dados enquanto ele está em uso. A renomeação de uma tabela exige um bloqueio exclusivo na tabela. Se a tabela estiver em uso, você precisará encerrar as sessões que usam a tabela. Para terminar uma sessão, use o comando KILL. Use KILL com cuidado, pois quando uma sessão for terminada, qualquer trabalho não confirmado será revertido. As sessões no Azure Synapse Analytics são prefixadas por 'SID'. Inclua o ‘SID’ e o número da sessão ao invocar o comando KILL. Este exemplo exibe uma lista de sessões ativas ou ociosas e, em seguida, termina a sessão 'SID1234'.
Renomear restrições de coluna
Não é possível renomear uma coluna que é usada para a distribuição da tabela. Também não é possível renomear nenhuma coluna em uma tabela externa ou em uma tabela temporária.
As exibições não são atualizadas
Ao renomear um banco de dados, todas as exibições que usam o nome antigo do banco de dados se tornarão inválidas. Esse comportamento se aplica às exibições dentro e fora do banco de dados. Por exemplo, se o banco de dados Sales for renomeado, uma exibição que contém SELECT * FROM Sales.dbo.table1 se tornará inválida. Para resolver esse problema, evite usar nomes de três partes em exibições ou atualizar as exibições para elas referenciarem o novo nome de banco de dados.
Ao renomear uma tabela, as exibições não são atualizadas para referenciar o novo nome da tabela. Toda exibição, dentro ou fora do banco de dados, que referencia o nome da tabela antiga se tornará inválida. Para resolver esse problema, atualize cada exibição para ela referenciar o novo nome da tabela.
Ao renomear uma coluna, as exibições não são atualizadas para referenciar o novo nome da coluna. As exibições continuarão mostrando o antigo nome da coluna até que uma instrução ALTER VIEW seja executada. Em alguns casos, as exibições podem se tornar inválidas, precisando de uma instrução DROP e RECREATE.
Bloqueio
Renomear uma tabela exige um bloqueio compartilhado no DATABASE objeto, um bloqueio compartilhado no SCHEMA objeto e um bloqueio exclusivo na tabela.
Exemplos
a. Renomear uma tabela
Aplica-se ao: Azure Synapse Analytics
Este exemplo renomeia a tabela Customer como Customer1.
-- Rename the customer table
RENAME OBJECT Customer TO Customer1;
RENAME OBJECT mydb.dbo.Customer TO Customer1;
Ao renomear uma tabela, todas as propriedades e todos os objetos associados à tabela são atualizados para referenciar o novo nome da tabela. Por exemplo, definições de tabela, índices, restrições e permissões são atualizados. As exibições não são atualizadas.
B. Mover uma tabela para outro esquema
Aplica-se ao: Azure Synapse Analytics
Se sua intenção é mover o objeto para um esquema diferente, use ALTER SCHEMA. Por exemplo, a instrução a seguir move o item de tabela do esquema de produto ao esquema de dbo.
ALTER SCHEMA dbo TRANSFER OBJECT::product.item;
C. Encerrar sessões antes de renomear uma tabela
Aplica-se ao: Azure Synapse Analytics
Não é possível renomear uma tabela enquanto ela estiver em uso. Uma renomeação de uma tabela exige um bloqueio exclusivo na tabela. Se a tabela estiver em uso, você precisará encerrar a sessão usando a tabela. Para terminar uma sessão, use o comando KILL. Use KILL com cuidado, pois quando uma sessão for terminada, qualquer trabalho não confirmado será revertido. As sessões no Azure Synapse Analytics são prefixadas por 'SID'. Será necessário incluir o 'SID' e o número da sessão ao invocar o comando KILL. Este exemplo exibe uma lista de sessões ativas ou ociosas e, em seguida, termina a sessão 'SID1234'.
-- View a list of the current sessions
SELECT session_id, login_name, status
FROM sys.dm_pdw_exec_sessions
WHERE status='Active' OR status='Idle';
-- Terminate a session using the session_id.
KILL 'SID1234';