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
Analytics Platform System (PDW)
Renamed a user-created table in Azure Synapse Analytics. Byter namn på en användarskapad tabell, en kolumn i en användarskapad tabell eller databas i Analytics Platform System (PDW).
Denna artikel gäller endast Azure Synapse Analytics and Analytics Platform System (PDW):
- 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
[;]
-- Syntax for Analytics Platform System (PDW)
-- Rename a table
RENAME OBJECT [::] [ [ database_name . [ schema_name ] . ] | [ schema_name . ] ] table_name TO new_table_name
[;]
-- Rename a database
RENAME DATABASE [::] database_name TO new_database_name
[;]
-- Rename a column
RENAME OBJECT [::] [ [ database_name . [schema_name ] ] . ] | [schema_name . ] ] table_name COLUMN column_name TO new_column_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, Analytics Platform System (PDW)
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.
BYT NAMN DATABASE [::] [ database_name TILL new_database_name
Gäller för: Analysplattformssystem (PDW)
Ändra namnet på en användardefinierad databas från database_name till new_database_name. Du kan inte byta namn på en databas till något av följande Analytics Platform System (PDW)-reserverade databasnamn:
mastermodelmsdbtempdbpdwtempdb1pdwtempdb2DWConfigurationDWDiagnosticsDWQueue
BYT NAMN PÅ OBJEKT [::] [ [database_name . [ schema_name ] . ] | [ schema_name . ]table_name KOLUMN column_name TILL new_column_name
Gäller för: Analysplattformssystem (PDW)
Byt namn på en kolumn i en tabell.
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 databas
Gäller för: Endast Analytics Platform System (PDW)
Detta exempel byter namn på den användardefinierade databasen AdWorks till AdWorks2.
-- Rename the user defined database AdWorks
RENAME DATABASE AdWorks to AdWorks2;
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. Byt namn på en tabell
Gäller för: Azure Synapse Analytics, Analytics Platform System (PDW)
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.
C. Flytta en tabell till ett annat schema
Gäller för: Azure Synapse Analytics, Analytics Platform System (PDW)
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;
D. Avsluta sessioner innan du byter namn på en tabell
Gäller för: Azure Synapse Analytics, Analytics Platform System (PDW)
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';
E. Byt namn på en kolumn
Gäller för: Analysplattformssystem (PDW)
Detta exempel byter namn på FName-kolumnen i Kundtabellen till FirstName.
-- Rename the Fname column of the customer table
RENAME OBJECT::Customer COLUMN FName TO FirstName;
RENAME OBJECT mydb.dbo.Customer COLUMN FName TO FirstName;