数据库名称更改SQL Server 2008失败
我有一个数据库“我的数据库”,我想重命名它,这样就没有空白了。我尝试使用数据库名称更改SQL Server 2008失败,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有一个数据库“我的数据库”,我想重命名它,这样就没有空白了。我尝试使用 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. 此服务器是我的本地计算机,除运行重命名查询的窗口外,我没有打开其他查询窗口。在
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.
此服务器是我的本地计算机,除运行重命名查询的窗口外,我没有打开其他查询窗口。在重命名数据库之前,是否需要运行某种类型的关闭连接命令?使用SSMS重命名数据库,这样做应该不会有任何问题。尝试此命令,但请注意:
USE master;
ALTER DATABASE [dbname] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [dbname] SET MULTI_USER;
GO
您还可以查询有关当前活动的锁管理器资源的信息
SELECT *
FROM sys.dm_tran_locks DTL
WHERE DTL.[resource_database_id] = DB_ID()
每一行表示当前对锁管理器的活动请求,请求已授予或正在等待授予的锁。您将不仅看到当前数据库上的请求(最有可能是资源类型数据库)。锁定这些资源时,无法更改数据库名称请参阅和。请注意,
sp_renamedb
是。请尝试将数据库置于单用户模式。是否可以停止Sql Server服务(控制面板/管理工具/服务),然后重试。这肯定会关闭所有连接。@granadaCoder我最终只是分离并重新连接了数据库,并重命名了数据库。这是一个相当全面的解决方案,尽管是一个潜在的解决方法。