Byt namn på en databas
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Den här artikeln beskriver hur du byter namn på en användardefinierad databas i SQL Server, Azure SQL Database eller Azure SQL Managed Instance med hjälp av SQL Server Management Studio (SSMS) eller Transact-SQL (T-SQL). Namnet på databasen kan innehålla alla tecken som följer reglerna för identifierare.
Anteckning
Om du vill byta namn på en databas i Azure Synapse Analytics eller Parallel Data Warehouse använder du instruktionen RENAME.
Begränsningar
Systemdatabaser kan inte byta namn.
Det går inte att ändra databasnamnet medan andra användare har åtkomst till databasen.
Använd SSMS-aktivitetsövervakaren för att hitta andra anslutningar till databasen och stänga dem. Mer information finns i Open Activity Monitor i SQL Server Management Studio (SSMS).
I SQL Server kan du ange en databas i enanvändarläge för att stänga alla öppna anslutningar. För mer information, se ställ in databasen på läget enkelanvändare.
I Azure SQL Database måste du se till att inga andra användare har en öppen anslutning till databasen som ska byta namn.
Om du byter namn på en databas ändras inte det fysiska namnet på databasfilerna på disken eller de logiska namnen på filerna. Mer information finns i Database Files and Filegroups.
Det går inte att byta namn på en Azure SQL-databas som konfigurerats i en aktiv geo-replikering relation.
Behörigheter
Kräver ALTER
behörighet för databasen.
Använda SQL Server Management Studio (SSMS)
Använd följande steg för att byta namn på en SQL Server- eller Azure SQL-databas med hjälp av SSMS.
I SSMS väljer du Object Explorer. Öppna Object Explorergenom att trycka på F8. Eller på den översta menyn väljer du View>Object Explorer:
I Object Exploreransluter du till en instans av SQL Server och expanderar sedan den instansen.
Kontrollera att det inte finns några öppna anslutningar till databasen. Om du använder SQL Server kan du ställa in databasen på enanvändarläge stänga alla öppna anslutningar och förhindra att andra användare ansluter när du ändrar databasnamnet.
I Object Explorer expanderar du Databaser, högerklickar på databasen för att byta namn och väljer sedan Byt namn på.
Ange det nya databasnamnet och välj sedan OK
Om databasen var din standarddatabas, se Återställ din standarddatabas efter namnbyte.
Uppdatera databaslistan i Object Explorer.
Använd Transact-SQL
Byt namn på en SQL Server-databas genom att placera den i enanvändarläge
Använd följande steg för att byta namn på en SQL Server-databas med T-SQL i SSMS, inklusive stegen för att placera databasen i enanvändarläge. Efter namnbytet placerar det här exemplet databasen i läget för flera användare igen.
Anslut till
master
-databasen för din instans.Öppna ett frågefönster.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. I det här exemplet ändras namnet på
MyTestDatabase
-databasen tillMyTestDatabaseCopy
.Varning
För att snabbt få exklusiv åtkomst använder kodexemplet avslutningsalternativet
WITH ROLLBACK IMMEDIATE
. Detta medför att alla ofullständiga transaktioner rullas tillbaka och att alla andra anslutningar tillMyTestDatabase
-databasen omedelbart kopplas från.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
Om databasen var din standarddatabas kan du läsa Återställa din standarddatabas efter att du har bytt namn på den.
Byt namn på en Azure SQL Database-databas
Använd följande steg för att byta namn på en Azure SQL-databas med T-SQL i SQL Server Management Studio.
Anslut till
master
-databasen för din instans.Öppna ett frågefönster.
Kontrollera att ingen använder databasen.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. I det här exemplet ändras namnet på
MyTestDatabase
-databasen tillMyTestDatabaseCopy
.ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
Säkerhetskopiera när du har bytt namn på en databas
När du har bytt namn på en databas i SQL Server säkerhetskopierar du master
-databasen. I Azure SQL Database behövs inte den här processen eftersom säkerhetskopieringar sker automatiskt.
Återställ standarddatabasen efter att du har bytt namn
Om databasen som du byter namn på har angetts som standarddatabas för en SQL Server-inloggning kan det uppstå fel 4064 Can't open user default database
. Använd följande kommando för att ändra standardvärdet till den omdöpta databasen:
USE [master]
GO
ALTER LOGIN [login] WITH DEFAULT_DATABASE=[new-database-name];
GO