Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 数据库重命名时出错_Sql_Database_Sql Server 2008 - Fatal编程技术网

Sql 数据库重命名时出错

Sql 数据库重命名时出错,sql,database,sql-server-2008,Sql,Database,Sql Server 2008,我需要重命名我的一个数据库,并尝试这样的查询 ALTER DATABASE Test MODIFY NAME = NewTest 但这是一个错误 Msg 5030, Level 16, State 2, Line 1 The database could not be exclusively locked to perform the operation. 谁能给我一些建议吗?有几件事你需要调查。出现该错误的原因可能是由于以下一个或多个原因: 您使用的帐户没有运行该命令的权限 数据库

我需要重命名我的一个数据库,并尝试这样的查询

ALTER DATABASE Test MODIFY NAME = NewTest
但这是一个错误

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

谁能给我一些建议吗?

有几件事你需要调查。出现该错误的原因可能是由于以下一个或多个原因:

  • 您使用的帐户没有运行该命令的权限
  • 数据库被另一进程/用户锁定
  • 数据库包含一个只读文件组
  • 您可以尝试强制单用户模式选中2

    ALTER数据库单用户立即回滚。

    这将终止与数据库的任何并发连接,从而排除第二个选项。

    您有两个选项:

  • 像OMG Priories建议的那样寻找并杀死所有连接
  • 以单服务器模式打开数据库,如下所述:
  • 试着做一些类似的事情

    USE master
    GO
    ALTER DATABASE Test 
    SET SINGLE_USER 
    WITH ROLLBACK IMMEDIATE
    GO
    ALTER DATABASE Test MODIFY NAME = NewTest
    GO
    ALTER DATABASE NewTest
    SET MULTI_USER 
    GO
    

    请注意,这可能不会重命名硬盘上的物理文件。

    使用“活动监视器”关闭与要重命名的数据库的任何现有连接?查询对我来说效果很好。但我认为您需要稍微更改它。更改数据库测试集多用户需要更改为更改数据库新测试集多用户,你能给我一些建议来重命名物理文件吗!好样的!很高兴它对你有用!这看起来是一篇关于这个主题的好文章。。。