如何重命名名为“Database”的MSSQL数据库?

时间:2013-06-18 06:41:03

标签: sql sql-server sql-server-2008 sql-server-2005

我有一个名为“Database”的MSSQL数据库。现在,当我尝试使用下面显示的查询重命名它时,

USE master;
GO
ALTER DATABASE Database
Modify Name = Database01
GO

它给了我这个错误信息:

  

Msg 102,Level 15,State 1,Line 1'Database'附近的语法不正确。

但是这个查询适用于其他数据库。我做错了什么?

3 个答案:

答案 0 :(得分:7)

如果您“引用”表名,它应该有效。默认引号字符是方括号[],所以:

USE master;
GO
ALTER DATABASE [Database]
Modify Name = Database01
GO

答案 1 :(得分:1)

您可以使用系统内置存储过程 - sp_renamedb'oldDBName','NewDBName'

,而不是使用长代码

答案 2 :(得分:0)

当你必须为表名使用保留关键字时,数据库名,列名总是放[](大括号)

,例如

select * from [Table]代替select * from table

select [column] from [table]代替select column from table

但将保留关键字作为对象的名称是非常糟糕的主意。