Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:Azure Synapse Analytics
Renamed a user-created table in Azure Synapse Analytics.
Denna artikel gäller endast Azure Synapse Analytics:
- För att byta namn på en databas i SQL Server, använd den lagrade proceduren sp_renamedb.
- För att byta namn på en databas i Azure SQL Database, använd satsenALTER DATABASE (Azure SQL Database).
- Att byta namn på fristående dedikerade SQL-pooler (tidigare SQL PW) stöds. Att byta namn på en dedikerad SQL-pool i Azure Synapse Analytics-arbetsytor stöds inte för närvarande.
- Den här syntaxen stöds inte av en serverlös SQL-pool i 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
BYT NAMN PÅ OBJEKT [::] [ [database_name . [ schema_name ] . ] | [ schema_name . ] ] table_name TILL new_table_name
Gäller för: Azure Synapse Analytics
Byt namn på en användardefinierad tabell. Ange tabellen som ska byta namn med ett namn på en, två eller tre delar. Ange den nya tabellen new_table_name som ett endelsnamn.
Permissions
För att köra detta kommando behöver du denna behörighet:
- ALTER-behörighet på bordet
Begränsningar och restriktioner
Kan inte byta namn på en extern tabell, index eller vyer
Du kan inte byta namn på en extern tabell, index eller vyer. I stället för att byta namn kan du ta bort den externa tabellen, indexet eller vyn och sedan återskapa den med det nya namnet.
Kan inte byta namn på en tabell som används
Du kan inte byta namn på en tabell eller databas medan den används. Att byta namn på en tabell kräver ett exklusivt lås på bordet. Om tabellen används kan du behöva avsluta sessioner som använder tabellen. För att avsluta en session kan du använda kommandot KILL. Använd KILL försiktigt eftersom när en session avslutas kommer allt obundet arbete att rullas tillbaka. Sessioner i Azure Synapse Analytics prefixeras av 'SID'. Inkludera 'SID' och sessionsnumret när du anropar KILL-kommandot. Detta exempel visar en lista över aktiva eller inaktiva sessioner och avslutar sedan sessionen 'SID1234'.
Begränsningar för omnamnskolumner
Du kan inte byta namn på en kolumn som används för tabellens fördelning. Du kan inte heller byta namn på några kolumner i en extern tabell eller en tillfällig tabell.
Visningarna uppdateras inte
När du byter namn på en databas blir alla vyer som använder det tidigare databasnamnet ogiltiga. Detta beteende gäller både inuti och utanför databasen. Till exempel, om försäljningsdatabasen byter namn, blir en vy som innehåller SELECT * FROM Sales.dbo.table1 ogiltig. För att lösa detta problem kan du antingen undvika att använda tredelade namn i vyerna, eller uppdatera vyerna för att referera till det nya databasnamnet.
När man byter namn på en tabell uppdateras inte vyerna för att referera till det nya tabellnamnet. Varje vy, inom eller utanför databasen, som refererar till det tidigare tabellnamnet blir ogiltig. För att lösa detta problem kan du uppdatera varje vy för att referera till det nya tabellnamnet.
När du byter namn på en kolumn uppdateras inte vyer så att de refererar till det nya kolumnnamnet. Vyerna fortsätter att visa det gamla kolumnnamnet tills en alter view-åtgärd för att ändra vyn utförs. I vissa fall kan visningar bli ogiltiga och behöva en nedläggning och återskapa.
Låsning
Att byta namn på en tabell kräver ett delat lås på objektet DATABASE , ett delat lås på objektet SCHEMA och ett exklusivt lås på tabellen.
Examples
A. Byt namn på en tabell
Gäller för: Azure Synapse Analytics
Detta exempel byter namn på Customer-tabellen till Customer1.
-- Rename the customer table
RENAME OBJECT Customer TO Customer1;
RENAME OBJECT mydb.dbo.Customer TO Customer1;
När en tabell byter namn uppdateras alla objekt och egenskaper kopplade till tabellen för att referera till det nya tabellnamnet. Till exempel uppdateras tabelldefinitioner, index, begränsningar och behörigheter. Vyer uppdateras inte.
B. Flytta en tabell till ett annat schema
Gäller för: Azure Synapse Analytics
Om din avsikt är att flytta objektet till ett annat schema, använd ALTER SCHEMA. Till exempel flyttar följande sats tabellobjektet från produktschemat till dbo-schemat.
ALTER SCHEMA dbo TRANSFER OBJECT::product.item;
C. Avsluta sessioner innan du byter namn på en tabell
Gäller för: Azure Synapse Analytics
Du kan inte byta namn på en tabell medan den används. En omnamngivning av en tabell kräver ett exklusivt lås på tabellen. Om tabellen används kan du behöva avsluta sessionen med tabellen. För att avsluta en session kan du använda kommandot KILL. Använd KILL försiktigt eftersom när en session avslutas kommer allt obundet arbete att rullas tillbaka. Sessioner i Azure Synapse Analytics prefixeras av 'SID'. Du måste inkludera 'SID' och sessionsnumret när du anropar KILL-kommandot. Detta exempel visar en lista över aktiva eller inaktiva sessioner och avslutar sedan sessionen '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';