gpt4 book ai didi

sql-server - 如何获得SQL Server 2005数据库的独占访问权限来恢复?

转载 作者:行者123 更新时间:2023-12-02 01:42:13 25 4
gpt4 key购买 nike

每当我在 SQL Server 中恢复数据库备份时,都会出现以下错误:

Msg 3101, Level 16, State 1, Line 1
Exclusive access could not be obtained because the database is in use.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

通常为了解决这个问题,我只需重新启动服务器即可。当我们在开发机器上的本地实例上进行开发时,这很好。但是我们有一些程序员需要访问数据库,以及让每个人编写更改脚本并将其放入 Subversion 的后勤工作。正在成为一场噩梦。不管怎样,我们简单的解决方案是将其放在办公室的共享服务器上,并偶尔备份服务器,以防有人搞砸数据。

好吧,我搞砸了数据,需要恢复。不幸的是,我办公室里的另一位同事正在处理另一个项目,并且正在使用相同的数据库服务器进行开发。为了友善起见,我想在不重新启动 SQL Server 的情况下进行恢复,并且可能不会中断他的工作。

有没有办法在 T-SQL 中编写脚本来获得独占访问或删除所有连接?

最佳答案

您可以通过以下方式强制数据库脱机并断开连接:

EXEC sp_dboption N'yourDatabase', N'offline', N'true'

或者你也可以

ALTER DATABASE [yourDatabase] SET OFFLINE WITH
ROLLBACK AFTER 60 SECONDS

回滚指定是否正在执行任何操作。在此期限之后,它们将被回滚。所以它提供了一些保护。

抱歉,我的想法/阅读不正确。您可以重新上线并进行备份。 Stack Overflow 上还有一篇关于 T-SQL 的帖子用于删除所有连接而不是先离线的代码片段: Hidden Features of SQL Server

关于sql-server - 如何获得SQL Server 2005数据库的独占访问权限来恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/183686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com