重新命名資料庫
適用於: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) 陳述式。
限制事項
- 無法重新命名系統資料庫。
- 其他使用者正在存取資料庫時,無法變更資料庫名稱。
- 使用 SQL Server Management Studio 活動監視器,尋找資料庫的其他連線,並加以關閉。 如需詳細資訊,請參閱在 SQL Server Management Studio (SSMS) 中開啟活動監視器。
- 在 SQL Server 中,您可以設定單一使用者模式的資料庫,以關閉任何開啟的連線。 如需詳細資訊,請參閱將資料庫設定為單一使用者模式。
- 在 Azure SQL 資料庫中,您必須確定沒有任何其他使用者有要重新命名之資料庫的開啟連線。
- 重新命名資料庫並不會變更磁碟上資料庫檔案的實體名稱,或檔案的邏輯名稱。 如需相關資訊,請參閱 Database Files and Filegroups。
- 您無法重新命名在作用中異地複寫關聯性中設定的 Azure SQL 資料庫。
權限
需要資料庫的 ALTER 權限。
使用 SQL Server Management Studio
使用 SQL Server Management Studio,透過下列步驟重新命名 SQL Server 或 Azure SQL 資料庫。
在 SQL Server Management Studio 中,選取 [物件總管] 。 若要開啟 [物件總管] ,請選取 F8。 或者,在上層功能表上,選取 [檢視] ,然後選取 [物件總管] :
在 [物件總管] 中,連線到 SQL Server 的執行個體,然後展開該執行個體。
請確定資料庫沒有任何開啟的連線。 如果您使用 SQL Server,則可以將資料庫設定為單一使用者模式關閉任何開啟的連線,並防止其他使用者在您變更資料庫名稱時連線。
在 [物件總管] 中,展開 [資料庫],並以滑鼠右鍵按一下要重新命名的資料庫,然後選取 [重新命名]。
輸入新的資料庫名稱,然後選取 [確定]
如果資料庫是預設資料庫,請參閱在重新命名之後重設預設資料庫。
重新整理 [物件總管] 中的資料庫清單。
使用 Transact-SQL
讓 SQL Server 資料庫進入單一使用者模式以重新予以命名
在 SQL Server Management Studio 中使用 T-SQL,透過下列步驟重新命名 SQL Server 資料庫,包括讓資料庫進入單一使用者模式的步驟,以及在重新命名之後,讓資料庫重新進入多使用者模式的步驟。
- 連線至您執行個體的
master
資料庫。 - 開啟查詢視窗。
- 複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 這個範例會將
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
- (選擇性) 如果資料庫是您的預設資料庫,請參閱在重新命名之後重設您的預設資料庫。
重新命名 Azure SQL 資料庫
在 SQL Server Management Studio 中使用 T-SQL,透過下列步驟重新命名 Azure SQL 資料庫。
連線至您執行個體的
master
資料庫。開啟查詢視窗。
請確定沒有人正在使用資料庫。
複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 這個範例會將
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
下一步
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應