Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Azure Synapse Analytics
Renomeia uma tabela criada pelo utilizador em Azure Synapse Analytics.
Este artigo aplica-se apenas ao Azure Synapse Analytics:
- Para renomear uma base de dados em SQL Server, use o procedimento armazenado sp_renamedb.
- Para renomear uma base de dados no Base de Dados SQL do Azure, use a ALTER DATABASE instrução (Base de Dados SQL do Azure).
- A renomeação de pools SQL dedicados autónomos (anteriormente SQL DW) é suportada. A renomeação de um pool SQL dedicado nos espaços de trabalho do Azure Synapse Analytics não é atualmente suportada.
- Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.
Syntax
-- Syntax for Azure Synapse Analytics
-- Rename a table.
RENAME OBJECT [::] [ [ database_name . [schema_name ] ] . ] | [schema_name . ] ] table_name TO new_table_name
[;]
Arguments
RENOMEAR OBJETO [::] [ [database_name . [ schema_name ] . ] | [ schema_name . ] table_namePARA new_table_name
Aplica-se a: Azure Synapse Analytics
Mude o nome de uma tabela definida pelo utilizador. Especifique a tabela a ser renomeada com um nome de uma, duas ou três partes. Especifique o novo new_table_name da tabela como um nome de uma só parte.
Permissions
Para executar este comando, precisas desta permissão:
- Permissão ALTER na mesa
Limitações e Restrições
Não é possível renomear uma tabela externa, índices ou vistas
Não podes renomear uma tabela externa, índices ou vistas. Em vez de mudar de nome, pode eliminar a tabela externa, o índice ou a vista e, em seguida, criá-la novamente com o novo nome.
Não é possível renomear uma tabela em uso
Não pode renomear uma tabela ou base de dados enquanto está em uso. Renomear uma tabela requer um bloqueio exclusivo na mesa. Se a tabela estiver a ser utilizada, pode ser necessário terminar sessões que a utilizam. Para terminar uma sessão, podes usar o comando KILL. Use o KILL com cautela, pois quando uma sessão é terminada, qualquer trabalho não comprometido será revertido. As sessões no Azure Synapse Analytics têm o prefixo 'SID'. Inclua 'SID' e o número da sessão ao invocar o comando KILL. Este exemplo visualiza uma lista de sessões ativas ou inativas e depois termina a sessão 'SID1234'.
Restrições para renomear colunas
Não podes renomear uma coluna que é usada para a distribuição da tabela. Também não podes renomear colunas numa tabela externa ou numa tabela temporária.
As visualizações não são atualizadas
Ao mudar o nome de uma base de dados, todas as vistas que utilizam o nome da base de dados anterior tornar-se-ão inválidas. Este comportamento aplica-se a visualizações tanto dentro como fora da base de dados. Por exemplo, se a base de dados de Vendas for renomeada, uma vista que contém SELECT * FROM Sales.dbo.table1 tornar-se-á inválida. Para resolver este problema, pode evitar usar nomes de três partes nas visualizações, ou atualizar as vistas para referenciar o novo nome da base de dados.
Ao renomear uma tabela, as vistas não são atualizadas para referenciar o novo nome da tabela. Cada vista, dentro ou fora da base de dados, que faça referência ao nome anterior da tabela tornar-se-á inválida. Para resolver este problema, pode atualizar cada vista para referenciar o novo nome da tabela.
Ao mudar o nome de uma coluna, as vistas não são atualizadas para referenciar o nome novo da coluna. As visualizações continuarão a apresentar o nome antigo da coluna até ser executado um ALTER VIEW. Em certos casos, as visualizações podem tornar-se inválidas por precisar de ser eliminadas e recriadas.
Bloqueio
Renomear uma tabela exige um bloqueio partilhado no DATABASE objeto, um bloqueio partilhado no SCHEMA objeto e um bloqueio exclusivo na tabela.
Examples
A. Renomear uma tabela
Aplica-se a: Azure Synapse Analytics
Este exemplo renomeia a tabela do Cliente para Cliente1.
-- Rename the customer table
RENAME OBJECT Customer TO Customer1;
RENAME OBJECT mydb.dbo.Customer TO Customer1;
Ao renomear uma tabela, todos os objetos e propriedades associados à tabela são atualizados para referenciar o novo nome da tabela. Por exemplo, definições de tabelas, índices, restrições e permissões são atualizados. As visualizações não são atualizadas.
B. Mover uma tabela para um esquema diferente
Aplica-se a: Azure Synapse Analytics
Se a sua intenção for mover o objeto para um esquema diferente, use ALTER SCHEMA. Por exemplo, a seguinte instrução move o item da tabela do esquema do produto para o esquema dbo.
ALTER SCHEMA dbo TRANSFER OBJECT::product.item;
C. Terminar sessões antes de renomear uma tabela
Aplica-se a: Azure Synapse Analytics
Não podes renomear uma tabela enquanto está em uso. A mudança de nome de uma tabela requer um bloqueio exclusivo da mesa. Se a tabela estiver em uso, pode ser necessário terminar a sessão usando a tabela. Para terminar uma sessão, podes usar o comando KILL. Use o KILL com cautela, pois quando uma sessão é terminada, qualquer trabalho não comprometido será revertido. As sessões no Azure Synapse Analytics têm o prefixo 'SID'. Terá de incluir 'SID' e o número da sessão ao invocar o comando KILL. Este exemplo visualiza uma lista de sessões ativas ou inativas e depois 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';