【发布时间】:2017-06-22 08:17:08
【问题描述】:
我有一个问题是几周前在 Windows 更新后开始的,我在互联网上找不到有关该问题的任何信息。我在最新的 Windows 10 机器上安装了一个 SQL Server 2016 Express 实例,其数据库具有 FILESTREAM 文件组和全文搜索目录。据我所知,数据库已连接并且运行正常,Windows 事件日志中没有任何异常。然而,自从那次更新以来,SQL Server 不断地在数据库上搅动,不断地使用 CPU 和磁盘。
我将数据库存储在机械硬盘上,在我关闭 SQL 实例之前,CPU 使用率一直保持在 30% 左右。重新启动它只会暂时帮助,因为搅拌很快就会再次开始。请记住,这是在离线机器上(除了互联网连接)。起初我以为我感染了病毒或其他什么,所以我关闭了服务器,并从轨道上对其进行了核对。我得到了一个新的 SSD,安装了 Windows 10,安装了 SQL Server 2016,更新了所有内容,获取了 MDF 和 LDF(以及文件流文件夹),将它们移到了新机器上,附加了数据库。一开始没有问题。然后它再次开始,尽管现在 CPU 使用率要低得多,可能是因为存储速度要快得多。
这似乎与 Windows Defender 有关,因为我可以开始扫描并查看同一数据库的 sqlservr.exe 句柄数量。
SSMS 活动监视器一直没有显示任何进程或任何可以解释活动的数据库。请记住,这是新安装的机器上的一个隔离数据库,除了我之外没有连接任何客户端。
我查看了可能导致此问题的更新,但我没有发现任何明显的问题,现在我不知道该怎么办。我看到的唯一解决方案是降级到 SQL Server 2008 SP3,因为我知道它以前运行良好。对此我将不胜感激。
【问题讨论】:
-
只需在 Windows Defender 例外中添加数据库文件夹路径即可。
-
我这样做了,我实际上添加了整个实例数据根,它并没有停止。
-
我还禁用了 SQL Server CEIP 服务,删除了一些计算列(将公式设置为 NULL),检查权限等...正如我们所说,它在磁盘上以 2MB/s 的速度运行。 ..
-
我现在已禁用所有其他 SQL 服务(VSS 编写器、全文搜索守护程序启动器、代理、浏览器......),它仍然无缘无故地搅动。没有其他人使用 SQL Server 2016 看到过这种行为吗?
-
尝试将 Abacus 数据库的
auto close数据库选项设置为关闭。
标签: sql-server windows performance filestream