我们有一个 300 GB 的数据库,我正在测试将其还原到虚拟 Windows 2016 服务器上的新 SQL Server 2016 实例,用于测试目的。
VM 具有 32 GB RAM,在具有 10 个逻辑处理器的 1 个插槽 CPU 上运行。(E5 - 2670,2.6GHz)。不确定电源设置,将与设置 VM 的人一起检查。
我第一次恢复时,是.bak
从 2014 年实例的 - 文件中进行的。第二次(仍在运行)我是通过在 SQL Server 2016 实例上进行的备份进行的。
两次都花了一个多小时才显示“5% 已处理”消息。在此之前,百分比为 0%(使用显示还原进度的脚本)。第一次大约 2 小时后恢复完成。我特别想知道为什么进程指示器开始运行需要这么长时间。当它保持在 0% 时会发生什么?
这在 SQL Server 2016 实例上是否正常,或者可能有问题?在生产服务器上,恢复速度会快得多,但很难比较,因为 prod 是具有多个主轴的专用服务器,而 test-server 是虚拟服务器。
正如一些评论中提出的那样,问题是实例上未启用数据库即时文件初始化。我通过为运行 SQL Server 服务的用户提供所需权限来启用此功能,然后重新启动 SQL Server 服务。可以在以下链接中找到要采取的步骤:数据库即时文件初始化
感谢所有建议,其中一些为我指出了解决方案。
在 SQL Server 2016 中默认启用即时文件初始化 (IFI)*。
* 该框已在安装程序上预先选中(如果这是用于安装的方法)。安装程序使您有机会从安装程序 GUI 向服务帐户授予“执行卷维护任务”,因此您不必自己去做。
回答您的问题-“正常”与许多因素有关。但是,我要说的是,SQL Server 2016 的恢复时间不会比以前的版本长。