Sdílet prostřednictvím


Přejmenování databáze

platí pro: SQL Server Azure SQL DatabaseAzure SQL Managed Instance

Tento článek popisuje, jak přejmenovat uživatelsky definovanou databázi v SQL Serveru, Azure SQL Database nebo Azure SQL Managed Instance pomocí aplikace SQL Server Management Studio (SSMS) nebo Transact-SQL (T-SQL). Název databáze může obsahovat libovolné znaky, které dodržují pravidla pro identifikátory.

Poznámka:

Pokud chcete přejmenovat databázi ve službě Azure Synapse Analytics nebo paralelním datovém skladu, použijte příkaz RENAME (Transact-SQL).

Omezení

  • Systémové databáze nelze přejmenovat.

  • Název databáze nelze změnit, zatímco jiní uživatelé k databázi přistupují.

  • Přejmenování databáze nemění fyzický název souborů databáze na disku ani logické názvy souborů. Další informace naleznete v tématu Soubory databáze a skupiny souborů.

  • Databázi Azure SQL nakonfigurovanou v aktivním vztahu geografické replikace není možné přejmenovat.

Povolení

Vyžaduje ALTER oprávnění k databázi.

Použití aplikace SQL Server Management Studio (SSMS)

Pomocí následujícího postupu přejmenujte DATABÁZI SQL Serveru nebo Azure SQL pomocí aplikace SSMS.

  1. V nástroji SSMS vyberte Průzkumník objektů. Průzkumníka objektů otevřete stisknutím klávesy F8. Nebo v horní nabídce vyberte Zobrazit>Průzkumník objektů:

  2. V Průzkumníku objektůse připojte k instanci SQL Serveru a poté tuto instanci rozbalte.

  3. Ujistěte se, že k databázi nejsou otevřená připojení. Pokud používáte SQL Server, můžete nastavit databázi na režim jednoho uživatele a zavřít všechna otevřená připojení a zabránit ostatním uživatelům v připojení při změně názvu databáze.

  4. V Průzkumníku objektů rozbalte položku Databáze, klikněte pravým tlačítkem myši na databázi, abyste ji přejmenovali, a pak vyberte Přejmenovat.

  5. Zadejte nový název databáze a pak vyberte OK.

  6. Pokud byla databáze vaší výchozí databází, přečtěte si téma Resetování výchozí databáze po přejmenování.

  7. Aktualizujte seznam databází v Průzkumníku objektů.

Použijte Transact-SQL

Přejmenování databáze SQL Serveru jeho umístěním do režimu jednoho uživatele

Pomocí následujících kroků přejmenujte databázi SQL Serveru pomocí T-SQL v nástroji SSMS, včetně kroků pro umístění databáze v režimu jednoho uživatele. Po přejmenování tento příklad umístí databázi zpět do režimu více uživatelů.

  1. Připojte se k master databázi pro vaši instanci.

  2. Otevřete okno dotazu.

  3. Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit. Tento příklad změní název MyTestDatabase databáze na MyTestDatabaseCopy.

    Výstraha

    K rychlému získání výhradního přístupu se v ukázce kódu používá možnost ukončení WITH ROLLBACK IMMEDIATE. V tomto případě se všechny neúplné transakce, které se mají vrátit zpět, a všechna další připojení k MyTestDatabase databázi, která se mají okamžitě odpojit.

    USE master;
    GO
    ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
    GO
    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
    GO
    ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER;
    GO
    
  4. Pokud byla databáze vaší výchozí databází, můžete ji po přejmenování obnovit.

Přejmenování databáze Azure SQL Database

Pomocí následujících kroků přejmenujte databázi Azure SQL pomocí T-SQL v sadě SQL Server Management Studio.

  1. Připojte se k master databázi pro vaši instanci.

  2. Otevřete okno dotazu.

  3. Ujistěte se, že databázi nepoužívá nikdo.

  4. Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit. Tento příklad změní název MyTestDatabase databáze na MyTestDatabaseCopy.

    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
    

Zálohování po přejmenování databáze

Po přejmenování databáze na SQL Serveru zálohujte master databázi. V Azure SQL Database není tento proces potřeba, protože zálohování probíhá automaticky.

Po přejmenování obnovit výchozí databázi

Pokud byla databáze, kterou přejmenováváte, nastavena jako výchozí databáze přihlášení k SQL Serveru, může dojít k chybě 4064, Can't open user default database. Pomocí následujícího příkazu změňte výchozí hodnotu na přejmenovanou databázi:

USE [master]
GO
ALTER LOGIN [login] WITH DEFAULT_DATABASE=[new-database-name];
GO