像 vss 快照一样故意冻结 I/O

com*_*ger 2 sql-server vss

我想像卷影副本一样冻结 SQL Server 实例的 I/O。

结果应如下所示:

2020-01-19 23:11:40.90 spid73      I/O is frozen on database prod. No user action is required. However, if I/O is not resumed promptly, you could cancel the backup.

2020-01-19 23:11:57.89 spid73      I/O was resumed on database prod. No user action is required.
Run Code Online (Sandbox Code Playgroud)

但我想决定何时恢复 I/O。我自己用备份试过了,但它完成得太快了。

我想在此 I/O 冻结期间调试我的应用程序。

我怎样才能实现这种行为(u)r?

编辑 - 2020-01-27 10:53

目的是 SQL Server 在此期间不接受新连接:

Exception:
Class name:    EMSError
Message:       [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
Unit name:     OLEDBAccess
Run Code Online (Sandbox Code Playgroud)

Jos*_*ell 6

当然,在测试系统上,您可以使用两个未公开的 DBCC 命令。

DBCC FREEZE_IO('database_name');
DBCC THAW_IO('database_name')
Run Code Online (Sandbox Code Playgroud)

在此处查看 Erik Darling 的博客文章,这是我第一次听说这些命令的地方:VSS Snaps 慢时等待统计信息

他还使用它们来诊断这些与快照相关的冻结期间的行为。