Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:Azure Synapse Analytics
Hernoem een gebruikersgemaakte tabel in Azure Synapse Analytics.
Dit artikel is alleen van toepassing op Azure Synapse Analytics:
- Om een database in SQL Server te hernoemen, gebruik je de opgeslagen procedure sp_renamedb.
- Om een database te hernoemen in Azure SQL Database, gebruik je de ALTER DATABASE (Azure SQL Database)-instructie.
- Het hernoemen van standalone dedicated SQL-pools (voorheen SQL DW) wordt ondersteund. Het hernoemen van een dedicated SQL-pool in Azure Synapse Analytics workspaces wordt momenteel niet ondersteund.
- Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in 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
HERNOEM OBJECT [::] [ [database_name . [ schema_name ] . ] | [ schema_name . ] ] table_name NAAR new_table_name
Van toepassing op: Azure Synapse Analytics
Verander de naam van een door de gebruiker gedefinieerde tabel. Specificeer de te hernoemen tabel met een naam van één, twee of drie delen. Specificeer de nieuwe tabel new_table_name als een naam in één deel.
Permissions
Om dit commando uit te voeren, heb je deze toestemming nodig:
- ALTER-toestemming op tafel
Beperkingen en beperkingen
Kan een externe tabel, indexen of weergaven niet hernoemen
Je kunt een externe tabel, indexen of weergaven niet hernoemen. In plaats van de naam te wijzigen, kunt u de externe tabel, index of weergave verwijderen en deze vervolgens opnieuw maken met de nieuwe naam.
Kan een gebruikte tabel niet hernoemen
Je kunt een tabel of database niet hernoemen terwijl deze in gebruik is. Het hernoemen van een tabel vereist een exclusieve vergrendeling op de tafel. Als de tabel in gebruik is, moet je mogelijk sessies beëindigen die de tabel gebruiken. Om een sessie te beëindigen, kun je het KILL-commando gebruiken. Gebruik KILL voorzichtig, want wanneer een sessie wordt beëindigd, wordt elk niet-committerend werk teruggedraaid. Sessions in Azure Synapse Analytics worden voorafgegaan door 'SID'. Voeg 'SID' en het sessienummer toe bij het uitvoeren van het KILL-commando. Dit voorbeeld toont een lijst van actieve of inactieve sessies en beëindigt vervolgens sessie 'SID1234'.
Beperkingen voor het hernoemen van kolommen
Je kunt een kolom die wordt gebruikt voor de verdeling van de tabel niet hernoemen. Je kunt ook geen kolommen hernoemen in een externe tabel of tijdelijke tabel.
Weergaven worden niet bijgewerkt
Wanneer u de naam van een database wijzigt, worden alle weergaven met de naam van de voormalige database ongeldig. Dit gedrag geldt zowel voor weergaven binnen als buiten de database. Als bijvoorbeeld de Sales-database wordt hernoemd, wordt een weergave die bevat SELECT * FROM Sales.dbo.table1 ongeldig. Om dit probleem op te lossen, kun je ofwel het gebruik van driedelige namen in views vermijden, of de views bijwerken om naar de nieuwe databasenaam te verwijzen.
Bij het hernoemen van een tabel worden weergaven niet bijgewerkt om naar de nieuwe tabelnaam te verwijzen. Elke weergave, binnen of buiten de database, die naar de vorige tabelnaam verwijst, wordt ongeldig. Om dit probleem op te lossen, kun je elke weergave bijwerken om naar de nieuwe tabelnaam te verwijzen.
Wanneer u de naam van een kolom wijzigt, worden weergaven niet bijgewerkt om te verwijzen naar de nieuwe kolomnaam. Weergaven blijven de oude kolomnaam weergeven totdat een ALTER VIEW wordt uitgevoerd. In bepaalde gevallen kunnen weergaven ongeldig worden en moeten ze worden gedropt en opnieuw gemaakt.
Vergrendeling
Het hernoemen van een tabel vereist een gedeelde lock op het DATABASE object, een gedeelde lock op het SCHEMA object en een exclusieve lock op de table.
Examples
A. De naam van een tabel wijzigen
Van toepassing op: Azure Synapse Analytics
Dit voorbeeld hernoemt de Customer-tabel naar Customer1.
-- Rename the customer table
RENAME OBJECT Customer TO Customer1;
RENAME OBJECT mydb.dbo.Customer TO Customer1;
Bij het hernoemen van een tabel worden alle objecten en eigenschappen die aan de tabel zijn gekoppeld bijgewerkt om te verwijzen naar de nieuwe tabelnaam. Bijvoorbeeld, tabeldefinities, indexen, beperkingen en permissies worden bijgewerkt. Weergaven worden niet bijgewerkt.
B. Verplaats een tabel naar een ander schema
Van toepassing op: Azure Synapse Analytics
Als je het object naar een ander schema wilt verplaatsen, gebruik ALTER SCHEMAdan . Bijvoorbeeld, de volgende instructie verplaatst het tabelitem van het productschema naar het dbo-schema.
ALTER SCHEMA dbo TRANSFER OBJECT::product.item;
C. Beëindig sessies voordat je een tabel hernoemt
Van toepassing op: Azure Synapse Analytics
Je kunt een tabel niet hernoemen terwijl deze in gebruik is. Een hernoeming van een tabel vereist een exclusieve vergrendeling van de tabel. Als de tabel in gebruik is, moet je mogelijk de sessie beëindigen met de tabel. Om een sessie te beëindigen, kun je het KILL-commando gebruiken. Gebruik KILL voorzichtig, want wanneer een sessie wordt beëindigd, wordt elk niet-committerend werk teruggedraaid. Sessions in Azure Synapse Analytics worden voorafgegaan door 'SID'. Je moet 'SID' en het sessienummer opnemen bij het aanroepen van het KILL-commando. Dit voorbeeld toont een lijst van actieve of inactieve sessies en beëindigt vervolgens sessie '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';