重新命名資料庫Rename a Database

適用範圍:Applies to: 是SQL ServerSQL Server (所有支援的版本) yesSQL ServerSQL Server (all supported versions) 是Azure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database適用範圍:Applies to: 是SQL ServerSQL Server (所有支援的版本) yesSQL ServerSQL Server (all supported versions) 是Azure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database

本主題描述如何使用 SQL Server Management StudioSQL Server Management StudioTransact-SQLTransact-SQL,在 SQL Server 2019 (15.x)SQL Server 2019 (15.x) 或 Azure SQL Database 中重新命名使用者定義的資料庫。This topic describes how to rename a user-defined database in SQL Server 2019 (15.x)SQL Server 2019 (15.x) or Azure SQL Database by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. 資料庫的名稱可以包含任何依照識別碼規則的字元。The name of the database can include any characters that follow the rules for identifiers.

本主題內容In This Topic

注意

若要重新命名 Azure SQL 資料倉儲或平行處理資料倉儲中的資料庫,請使用 RENAME (Transact-SQL) 陳述式。To rename a database in Azure SQL Data Warehouse or Parallel Data Warehouse, use the RENAME (Transact-SQL) statement.

開始之前Before You Begin

限制事項Limitations and Restrictions

  • 您無法重新命名系統資料庫。System databases cannot be renamed.
  • 其他使用者正在存取資料庫時,無法變更資料庫名稱。The database name cannot be changed while other users are accessing the database.
    • 在 SQL Server 中,您可以設定單一使用者模式的資料庫,以關閉任何開啟的連線。In SQL Server, you can set a database in single user mode to close any open connections. 如需詳細資訊,請參閱將資料庫設定為單一使用者模式For more information, see set the database to single-user mode.
    • 在 Azure SQL Database 中,您必須確定沒有任何其他使用者有要重新命名之資料庫的開啟連線。In Azure SQL Database, you must make sure no other users have an open connection to the database to be renamed.

安全性Security

權限Permissions

需要資料庫的 ALTER 權限。Requires ALTER permission on the database.

使用 SQL Server Management Studio 重新命名資料庫Rename a database using SQL Server Management Studio

使用 SQL Server Management Studio,透過下列步驟重新命名 SQL Server 或 Azure SQL 資料庫。Use the following steps to rename a SQL Server or Azure SQL database using SQL Server Management Studio.

  1. 在 [物件總管]**** 中,連線至 SQL 執行個體。In Object Explorer, connect to your SQL instance.

  2. 請確定資料庫沒有任何開啟的連線。Make sure that there are no open connections to the database. 如果您使用 SQL Server,則可以將資料庫設定為單一使用者模式關閉任何開啟的連線,並防止其他使用者在您變更資料庫名稱時連線。If you are using SQL Server, you can set the database to single-user mode to close any open connections and prevent other users from connecting while you are changing the database name.

  3. 在 [物件總管] 中,展開 [資料庫]****,並以滑鼠右鍵按一下要重新命名的資料庫,然後按一下 [重新命名]****。In Object Explorer, expand Databases, right-click the database to rename, and then click Rename.

  4. 輸入新的資料庫名稱,然後按一下 [確定]Enter the new database name, and then click OK.

  5. (選擇性) 如果資料庫是您的預設資料庫,請參閱在重新命名之後重設您的預設資料庫Optionally, if the database was your default database, see Reset your default database after rename.

使用 Transact-SQL 重新命名資料庫Rename a database using Transact-SQL

讓 SQL Server 資料庫進入單一使用者模式以重新予以命名To rename a SQL Server database by placing it in single-user mode

在 SQL Server Management Studio 中使用 T-SQL,透過下列步驟重新命名 SQL Server 資料庫,包括讓資料庫進入單一使用者模式的步驟,以及在重新命名之後,讓資料庫重新進入多使用者模式的步驟。Use the following steps to rename a SQL Server database using T-SQL in SQL Server Management Studio including the steps to place the database in single-user mode and, after the rename, place the database back in multi-user mode.

  1. 連線至您執行個體的 master 資料庫。Connect to the master database for your instance.

  2. 開啟查詢視窗。Open a query window.

  3. 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行]Copy and paste the following example into the query window and click Execute. 這個範例會將 MyTestDatabase 資料庫的名稱變更為 MyTestDatabaseCopyThis example changes the name of the MyTestDatabase database to MyTestDatabaseCopy.

    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. (選擇性) 如果資料庫是您的預設資料庫,請參閱在重新命名之後重設您的預設資料庫Optionally, if the database was your default database, see Reset your default database after rename.

重新命名 Azure SQL Database 資料庫To rename an Azure SQL Database database

在 SQL Server Management Studio 中使用 T-SQL,透過下列步驟重新命名 Azure SQL 資料庫。Use the following steps to rename an Azure SQL database using T-SQL in SQL Server Management Studio.

  1. 連線至您執行個體的 master 資料庫。Connect to the master database for your instance.

  2. 開啟查詢視窗。Open a query window.

  3. 請確定沒有人正在使用資料庫。Make sure that no one is using the database.

  4. 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行]Copy and paste the following example into the query window and click Execute. 這個範例會將 MyTestDatabase 資料庫的名稱變更為 MyTestDatabaseCopyThis example changes the name of the MyTestDatabase database to MyTestDatabaseCopy.

    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy ;
    

在重新命名資料庫之後備份Backup after renaming a database

在 SQL Server 中重新命名資料庫之後,請備份 master 資料庫。After renaming a database in SQL Server, back up the master database. 在 Azure SQL Database 中,不需要這麼做,因為會自動備份。In Azure SQL Database, this is not needed as backups occur automatically.

在重新命名之後重設您的預設資料庫Reset your default database after rename

如果您要重新命名的資料庫已設定為預設資料庫,請使用下列命令將預設值重設為重新命名的資料庫:If the database you're renaming was set as your default database, use the following command to reset your default to the renamed database:

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

另請參閱See Also