1.Rename a Database using Management Studio:
However, this does not change the database file names:
- Renaming Database:
However, this does not change the database file names:
SQL Query: SELECT name, physical_name FROM [SqlAndMe].sys.database_files
Result Set:
Here, you can change the logical filenames for DATA and LOG files.
2. Renaming a Database using T-SQL:
Result Set:
Result Set:
Once, the physical files have been renamed, you can attach the database using new database and file names:
Result Set:
Here, you can change the logical filenames for DATA and LOG files.
2. Renaming a Database using T-SQL:
- Renaming Database:
USE [master]--Set Database to Single-User ModeALTER DATABASE [MyDatabase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
--Rename DatabaseALTER DATABASE [MyDatabase] MODIFY Name = [SqlAndMe]
--Set Database to Multi-User ModeALTER DATABASE [SqlAndMe] SET MULTI_USER WITH ROLLBACK IMMEDIATEResult Set:
The database name 'SqlAndMe' has been set. - Renaming Files:
--Rename Logical File NamesALTER DATABASE [SqlAndMe] MODIFY FILE (NAME=N'MyDatabase', NEWNAME=N'SqlAndMe')ALTER DATABASE [SqlAndMe] MODIFY FILE (NAME=N'MyDatabase_log',NEWNAME=N'SqlAndMe_log')Result Set:
The file name 'SqlAndMe' has been set.The file name 'SqlAndMe_log' has been set.
However, none of these two methods can change the physical database file name, you can check this using sys.database_files:
SQL Query:SELECT name, physical_nameFROM [SqlAndMe].sys.database_files
Result Set:
name physical_name——--- —————------------SqlAndMe C:\…\MyDatabase.mdfSqlAndMe_log C:\…\MyDatabase_log.LDF
(2 row(s) affected)
Sometimes we also need to rename the physical database files, this cannot be done via two methods described above.
3. Renaming a Database using detach/attach:
1. Detach database:
You can detach a database either using Management Studio or T-SQL, To detach a database using Management Studio, right-click on database > go to "Tasks" > "Detach", click OK to detach a database,
To detach a database using T-SQL, you can use master..sp_detach_db procedure:
Once the database is detached, SQL Server releases the locks on physical files, now you can rename the physical files using Windows Explorer, or command prompt:
3. Renaming a Database using detach/attach:
1. Detach database:
You can detach a database either using Management Studio or T-SQL, To detach a database using Management Studio, right-click on database > go to "Tasks" > "Detach", click OK to detach a database,
To detach a database using T-SQL, you can use master..sp_detach_db procedure:
--Detach Database using sp_detach_dbSQL Query:USE [master] ALTER DATABASE [MyDatabase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
EXEC master.dbo.sp_detach_db @dbname = N'MyDatabase' 2.Rename Physical files:Once the database is detached, SQL Server releases the locks on physical files, now you can rename the physical files using Windows Explorer, or command prompt:
3. Attaching database with New Name:Once, the physical files have been renamed, you can attach the database using new database and file names:
-– Attach DatabaseSQL Query:USE [master] CREATE DATABASE [SqlAndMe] ON ( FILENAME = N'C:\…\SqlAndMe.mdf'), ( FILENAME = N'C:\…\SqlAndMe_log.LDF') FOR ATTACH --Rename Logical file namesSQL Query: USE [SqlAndMe] ALTER DATABASE [SqlAndMe] MODIFY FILE (NAME=N'MyDatabase', NEWNAME=N'SqlAndMe') ALTER DATABASE [SqlAndMe] MODIFY FILE (NAME=N'MyDatabase_log', NEWNAME=N'SqlAndMe_log')
SQL Query: SELECT name, physical_nameFROM [SqlAndMe].sys.database_filesname physical_name———— —————–SqlAndMe C:\…\SqlAndMe.mdfSqlAndMe_log C:\…\SqlAndMe_log.LDF
(2 row(s) affected)


another option also there sp_renamedb ;oldnamedb','newdbname'
ReplyDelete