当我还原数据库时,还原操作经常卡住并且等待类型为ASYNC_IO_COMPLETION
. 它可以处于这种状态 10-20-30 分钟,直到它继续PREEMPTIVE_OS_WRITEFILEGATHER
,这就是进度 ( percent_complete
) 开始增长的时候。
但是,如果我看到ASYNC_IO_COMPLETION
并中断还原过程然后再次运行它,我会立即看到PREEMPTIVE_OS_WRITEFILEGATHER
并percent_complete
上升。
最好了解这种行为并了解是否有更合适的方法来加快恢复操作。谢谢
如果尚未启用,请尝试启用“即时文件初始化”功能。它加快了恢复过程并显着加快了速度。
什么是即时文件初始化 (IFI)?
SQL Server 需要在使用页面之前对其进行初始化。因此,它尝试用零填充页面(将文件归零)。如果启用 IFI,它会跳过这部分,并且可以立即初始化数据文件以避免归零操作。
如何启用 IFI?
不幸的是,没有内置的复选框或跟踪标志来启用此功能。相反,SQL Server 服务帐户需要具有“执行卷维护任务”权限。查看下面的页面,了解如何执行此操作的详细步骤。
MS 文档:即时文件初始化
什么时候启用?
请注意,您需要重新启动 SQL Server 服务,以便 SQL 服务选择此策略并启用此很酷的功能。
奖励:您可以检查 SQL 错误日志以查看是否启用了 IFI。使用“过滤器”搜索关键字,例如“即时”、“初始化”,或者您可以使用从这篇博文中获取的以下查询。