重新命名資料庫

適用於:SQL ServerAzure SQL 資料庫Azure SQL 受控執行個體

本文描述了如何使用 SQL Server Management Studio (SSMS) 或 Transact-SQL (T-SQL),在 SQL Server、Azure SQL 資料庫或 Azure SQL 受控執行個體中重新命名使用者定義的資料庫。 資料庫的名稱可以包含任何依照識別碼規則的字元。

注意

若要重新命名 Azure Synapse Analytics 或平行處理資料倉儲中的資料庫,請使用 RENAME (Transact-SQL) 陳述式。

限制事項

  • 無法重新命名系統資料庫。
  • 其他使用者正在存取資料庫時,無法變更資料庫名稱。
  • 重新命名資料庫並不會變更磁碟上資料庫檔案的實體名稱,或檔案的邏輯名稱。 如需相關資訊,請參閱 Database Files and Filegroups
  • 您無法重新命名在作用中異地複寫關聯性中設定的 Azure SQL 資料庫。

權限

需要資料庫的 ALTER 權限。

使用 SQL Server Management Studio

使用 SQL Server Management Studio,透過下列步驟重新命名 SQL Server 或 Azure SQL 資料庫。

  1. 在 SQL Server Management Studio 中,選取 [物件總管] 。 若要開啟 [物件總管] ,請選取 F8。 或者,在上層功能表上,選取 [檢視] ,然後選取 [物件總管] :

  2. 在 [物件總管] 中,連線到 SQL Server 的執行個體,然後展開該執行個體。

  3. 請確定資料庫沒有任何開啟的連線。 如果您使用 SQL Server,則可以將資料庫設定為單一使用者模式關閉任何開啟的連線,並防止其他使用者在您變更資料庫名稱時連線。

  4. 在 [物件總管] 中,展開 [資料庫],並以滑鼠右鍵按一下要重新命名的資料庫,然後選取 [重新命名]。

  5. 輸入新的資料庫名稱,然後選取 [確定]

  6. 如果資料庫是預設資料庫,請參閱在重新命名之後重設預設資料庫

  7. 重新整理 [物件總管] 中的資料庫清單。

使用 Transact-SQL

讓 SQL Server 資料庫進入單一使用者模式以重新予以命名

在 SQL Server Management Studio 中使用 T-SQL,透過下列步驟重新命名 SQL Server 資料庫,包括讓資料庫進入單一使用者模式的步驟,以及在重新命名之後,讓資料庫重新進入多使用者模式的步驟。

  1. 連線至您執行個體的 master 資料庫。
  2. 開啟查詢視窗。
  3. 複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 這個範例會將 MyTestDatabase 資料庫的名稱變更為 MyTestDatabaseCopy

警告

為了快速取得專屬存取權,程式碼範例會使用終止選項 WITH ROLLBACK IMMEDIATE。 這會導致所有未完成的交易都會回復,而且 MyTestDatabase 資料庫的任何其他連接都會立即中斷。

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
  1. (選擇性) 如果資料庫是您的預設資料庫,請參閱在重新命名之後重設您的預設資料庫

重新命名 Azure SQL 資料庫

在 SQL Server Management Studio 中使用 T-SQL,透過下列步驟重新命名 Azure SQL 資料庫。

  1. 連線至您執行個體的 master 資料庫。

  2. 開啟查詢視窗。

  3. 請確定沒有人正在使用資料庫。

  4. 複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 這個範例會將 MyTestDatabase 資料庫的名稱變更為 MyTestDatabaseCopy

    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
    

在重新命名資料庫之後備份

在 SQL Server 中重新命名資料庫之後,請備份 master 資料庫。 在 Azure SQL 資料庫中,不需要這麼做,因為會自動備份。

在重新命名之後重設您的預設資料庫

如果您要重新命名的資料庫已設定為 SQL Server 登入的預設資料庫,則可能會遇到錯誤 4064 (Cannot open user default database)。 使用下列命令,將預設值變更為已重新命名的資料庫:

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

下一步