我想像卷影副本一样冻结 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)
当然,在测试系统上,您可以使用两个未公开的 DBCC 命令。
DBCC FREEZE_IO('database_name');
DBCC THAW_IO('database_name')
Run Code Online (Sandbox Code Playgroud)
在此处查看 Erik Darling 的博客文章,这是我第一次听说这些命令的地方:VSS Snaps 慢时等待统计信息
他还使用它们来诊断这些与快照相关的冻结期间的行为。