Sql server 为什么不能重命名数据库

Sql server 为什么不能重命名数据库,sql-server,ssms,Sql Server,Ssms,我试图通过SSMS重命名数据库,并出现以下错误:- 从附加信息中,我没有意识到您需要执行以下声明 USE master; GO ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy ; GO ALTER DATA

我试图通过SSMS重命名数据库,并出现以下错误:-


从附加信息中,我没有意识到您需要执行以下声明

    USE master;  
    GO  
    ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    GO
    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy ;
    GO  
    ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER
    GO

您需要执行以下语句

    USE master;  
    GO  
    ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    GO
    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy ;
    GO  
    ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER
    GO

这可以在SSMS中完成

1.right click your database name.
2. properties
3. Options.
5. Restrict Access Select single.

然后重复该步骤,在完成重命名后再次更改为多用户。

可以在SSMS中完成

1.right click your database name.
2. properties
3. Options.
5. Restrict Access Select single.

然后重复此步骤,在完成重命名后再次更改为多用户。

您需要关闭所有现有连接才能执行此操作

为此你可以

  • 使用SP_WHO并关闭所有打开的数据库连接 或
  • 使数据库脱机:右键单击->任务->脱机->选中并删除所有活动连接

在执行此操作之前,您需要关闭所有现有连接

为此你可以

  • 使用SP_WHO并关闭所有打开的数据库连接 或
  • 使数据库脱机:右键单击->任务->脱机->选中并删除所有活动连接

SSMS可以修改数据库名称,但只有在该数据库中没有活动会话的情况下,才可以修改数据库名称,但一般来说,这是一种执行重命名的方法。SSMS可以修改数据库名称,但只有在该数据库中没有活动会话的情况下,但一般来说,这是执行重命名的一种方式。在第一次会话中,会再次将该会话抬高。像JERRY建议的那样,在一个会话批处理中执行重命名更安全,并且学习命令的语法并不是那么困难。然后,第一个会话将再次启动该单个会话。像JERRY建议的那样,将重命名作为一个会话批处理执行更安全,并且学习命令的语法并不是那么困难。