PREEMPTIVE_OS_WRITEFILEGATHER 在 IFI 打开的情况下等待数据库恢复

Hor*_*ria 5 sql-server restore sql-server-2014 azure-vm

我有一个装有 Windows Server 2012 R2 和 SQL Server 2014 Enterprise Edition 的 Azure VM。我已启用 IFI(将 SQL Server 用户添加NTSERVICE\MSSQLSERVER到“执行卷维护任务”)。

我试图用 C 驱动器 (SSD) 上的文件恢复 3 GB 数据库,这需要大约 40 分钟才能完成。检查恢复进度,大约 20 分钟后,它已 100% 完成。

在恢复过程中,我PREEMPTIVE_OS_WRITEFILEGATHER不断地出现在我的恢复过程中。

3 GB 数据库 40 分钟太多了。

文件在 C 驱动器上(不好)并且所有其他活动都在 C 驱动器上 - 这可能会影响我的恢复,将其恢复到 40 分钟,记住这仍然是 SSD 驱动器?

为了找出导致它花费那么长时间的原因,还有什么我可以寻找的吗?

编辑:到目前为止,我已经检查了以下内容:

1 - 检查EXEC xp_cmdshell "whoami /priv"并得到SeManageVolumePrivilege Perform volume maintenance tasks Enabled- 所以 sql server 用户确实有权限

2 - 重新启动 sqlservice,可以肯定的是,在下面的答案之后

3 - 检查创建一个带有跟踪标志的新数据库,3004,3605它只记录 ldf 归零,而不是 MDF - 所以 IFI 是 ON

wBo*_*Bob 3

你重启服务了吗?即时文件初始化仅在 SQL Server 服务重新启动后生效。