sp_renamedb (Transact-SQL)

SQL Server 2012

Changes the name of a database.

Important note Important

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use ALTER DATABASE MODIFY NAME instead. For more information, see ALTER DATABASE (Transact-SQL).

Topic link icon Transact-SQL Syntax Conventions

sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name'

[ @dbname=] 'old_name'

Is the current name of the database. old_name is sysname, with no default.

[ @newname=] 'new_name'

Is the new name of the database. new_name must follow the rules for identifiers. new_name is sysname, with no default.

0 (success) or a nonzero number (failure)

Requires membership in the sysadmin or dbcreator fixed server roles.

The following example creates the Accounting database and then changes the name of the database to Financial. The sys.databases catalog view is then queried to verify the new name of the database.

USE master;
EXEC sp_renamedb N'Accounting', N'Financial';
SELECT name, database_id, modified_date
FROM sys.databases
WHERE name = N'Financial';