小编GUI*_*UIs的帖子

设置数据库离线并立即回滚需要一个小时才能完成

每天晚上,我们将生产数据库脱机、分离,然后重新附加它以在备份程序开始之前切断所有活动连接。第一个命令是:

USE master
ALTER DATABASE thedb SET OFFLINE WITH ROLLBACK IMMEDIATE
Run Code Online (Sandbox Code Playgroud)

此命令过去需要 20 秒到两分钟才能完成,这是可以接受的。从过去几周开始,它需要 15 分钟到一个多小时才能完成。数据库使用情况没有任何变化会导致此问题,并且仅发生大约 3/4 的时间。

据我所知,我们没有更改任何会导致这种情况的设置。我的理解是 WITH ROLLBACK IMMEDIATE 切断了所有连接,数据库立即脱机。我曾尝试调查以下内容:

  • 恢复间隔设置为 0,因此检查点每隔几分钟发生一次,只需一秒钟即可完成
  • 统计信息不会异步更新
  • 在数据库脱机之前没有运行大型查询
  • 在数据库脱机时检查 sp_who2 显示没有用户连接到它
  • 数据库的日志文件非常小,约 30 MB

我们目前在没有镜像的简单恢复模式下运行 MSSQL Server 2012(标准版)。数据库大小约为 300 GB。

任何帮助表示赞赏,谢谢!

sql-server backup sql-server-2012

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

backup ×1

sql-server ×1

sql-server-2012 ×1