PŘEJMENOVAT (Transact-SQL)

platí pro:azure Synapse Analytics

Přejmenuje uživatelsky vytvořenou tabulku v Azure Synapse Analytics.

Tento článek se vztahuje pouze na Azure Synapse Analytics:

  • Pro přejmenování databáze v SQL Server použijte uloženou proceduru sp_renamedb.
  • Pro přejmenování databáze v Azure SQL Database použijte ALTER DATABASE příkaz (Azure SQL Database).
  • Podporováno je přejmenování samostatných dedikovaných SQL poolů (dříve SQL DW). Přejmenování dedikovaného SQL poolu v pracovních prostorech Azure Synapse Analytics momentálně není podporováno.
  • Tato syntaxe není podporována bezserverovým fondem SQL ve službě 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

PŘEJMENOVAT OBJEKT [::] [ [database_name . [ schema_name ] . ] | [ schema_name . ] ] table_name DO new_table_name

Platí na: Azure Synapse Analytics

Změňte název uživatelem definované tabulky. Specifikujte tabulku, která má být přejmenována jednohlasným, dvou- nebo třídílným názvům. Zadejte novou tabulku new_table_name jako jednosložkový název.

Permissions

Pro spuštění tohoto příkazu potřebujete toto oprávnění:

  • ALTER povolení na stole

Limitace a omezení

Nelze přejmenovat externí tabulku, indexy ani pohledy

Nemůžeš přejmenovat externí tabulku, indexy ani pohledy. Místo přejmenování můžete externí tabulku, index nebo zobrazení odstranit a pak vytvořit znovu s novým názvem.

Nelze přejmenovat používanou tabulku

Tabulku nebo databázi nelze přejmenovat, dokud je v používání. Přejmenování stolu vyžaduje exkluzivní zámek na stole. Pokud je tabulka v provozu, možná budete muset ukončit relace, které tabulku používají. Pro ukončení relace můžete použít příkaz KILL. KILL používejte opatrně, protože po ukončení relace bude veškerá nezávazná práce vrácena zpět. Sessions in Azure Synapse Analytics jsou předponou 'SID'. Při volání příkazu KILL zahrňte 'SID' a číslo relace. Tento příklad zobrazuje seznam aktivních nebo nečinných relací a poté ukončuje relaci 'SID1234'.

Přejmenujte omezení sloupců

Nemůžete přejmenovat sloupec, který se používá pro rozdělení tabulky. Také nemůžeš přejmenovat žádné sloupce v externí nebo dočasné tabulce.

Zobrazení nejsou aktualizována

Při přejmenováním databáze se všechna zobrazení, která používají původní název databáze, stanou neplatnými. Toto chování se vztahuje jak na pohledy uvnitř, tak vně databáze. Například pokud je databáze Sales přejmenována, pohled obsahující se stane SELECT * FROM Sales.dbo.table1 neplatným. K vyřešení tohoto problému můžete buď vyhnout se používání tříčlenných jmen v pohledech, nebo je aktualizovat tak, aby odkazovaly na nový název databáze.

Při přejmenování tabulky se pohledy neaktualizují tak, aby odkazovaly na nový název tabulky. Každý pohled, uvnitř nebo vně databáze, který odkazuje na předchozí název tabulky, se stane neplatným. Pro vyřešení tohoto problému můžete každý pohled aktualizovat tak, aby odkazoval na nový název tabulky.

Při přejmenování sloupce se zobrazení neaktualizují tak, aby odkazovala na nový název sloupce. V zobrazeních se bude dál zobrazovat původní název sloupce, dokud se neprovede úprava zobrazení. V některých případech mohou zobrazení být neplatná a vyžadují opětovné vyložení.

Uzamčení

Přejmenování tabulky vyžaduje sdílený zámek na objektu DATABASE , sdílený zámek na objektu SCHEMA a exkluzivní zámek na stole.

Examples

A. Přejmenování tabulky

Platí na: Azure Synapse Analytics

Tento příklad přejmenovává tabulku Zákazník na Zákazníka1.

-- Rename the customer table
RENAME OBJECT Customer TO Customer1;

RENAME OBJECT mydb.dbo.Customer TO Customer1;

Při přejmenování tabulky jsou všechny objekty a vlastnosti spojené s tabulkou aktualizovány tak, aby odkazovaly na nový název tabulky. Například definice tabulek, indexy, omezení a oprávnění jsou aktualizovány. Zobrazení nejsou aktualizována.

B. Přesuňte tabulku do jiného schématu

Platí na: Azure Synapse Analytics

Pokud je vaším záměrem přesunout objekt do jiného schématu, použijte ALTER SCHEMA. Například následující tvrzení přesune položku tabulky ze schématu součinu do schématu dbo.

ALTER SCHEMA dbo TRANSFER OBJECT::product.item;

C. Ukončit relace před přejmenováním tabulky

Platí na: Azure Synapse Analytics

Nemůžete přejmenovat tabulku, dokud je v používání. Přejmenování tabulky vyžaduje výhradní uzamčení stolu. Pokud je tabulka v provozu, možná budete muset ukončit relaci pomocí tabulky. Pro ukončení relace můžete použít příkaz KILL. KILL používejte opatrně, protože po ukončení relace bude veškerá nezávazná práce vrácena zpět. Sessions in Azure Synapse Analytics jsou předponou 'SID'. Při volání příkazu KILL budete muset uvést 'SID' a číslo relace. Tento příklad zobrazuje seznam aktivních nebo nečinných relací a poté ukončuje relaci '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';