1

我有一个数据库“我的数据库”,我想重命名它,这样就没有空格。我尝试使用重命名它

use master
exec sp_renamedb 'I 3 SCI Study','I3SciStudy'

并受到错误的欢迎

Msg 5030, Level 16, State 2, Line 1
The database could not be exclusively locked to perform the operation.

该服务器是我的本地计算机,除了运行重命名查询的窗口之外,我没有打开其他查询窗口。在重命名数据库之前,是否需要运行某种关闭连接命令?

4

3 回答 3

0

试试这个命令,但建议小心:

USE master;
ALTER DATABASE [dbname] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO

ALTER DATABASE [dbname] SET MULTI_USER;
GO
于 2013-04-05T23:07:09.623 回答
0

您还可以查询有关当前活动的锁管理器资源的信息。

SELECT *
FROM sys.dm_tran_locks DTL
WHERE DTL.[resource_database_id] = DB_ID()

每一行代表当前对锁管理器的活动请求,该请求已被授予或等待被授予的锁。您不仅会看到您对当前数据库的请求(很可能使用 resoure_type DATABASE)。这些资源被锁定时无法更改数据库名称

于 2013-04-06T07:54:48.323 回答
-1

使用 SSMS 重命名数据库,这样做应该没有任何问题。

于 2013-04-05T20:14:31.877 回答