一段时间以来,我怀疑 SSMS 中的磁盘使用情况报告已停止显示自动增长事件。为了测试,我创建了一个具有非常小的自动增长设置的空数据库。然后我将大量数据插入到数据库中的一个表中,这样我就知道它必须增长。查看数据库的文件属性时文件较大,但磁盘使用情况报告未显示任何自动增长事件。
然后我尝试从这篇文章中运行 Aaron Bertrand 的脚本,这清楚地显示了每个自动增长事件。
那么,为什么磁盘使用情况报告不会显示相同的增长?有什么建议么?顺便说一句,它是 SQL Server 2014 SP2。
磁盘使用情况报告的逻辑已写入 SSMS,虽然我们不知道 RDL 的样子(以及是否进行了任何过滤),但我使用 Profiler 抓取了 SSMS 2016 发送的此查询:
这与 Aaron 的脚本没有本质区别,我看不出它如何返回不同的结果。在我看来,即使轨迹翻转,它仍然会迭代所有轨迹(并且它们不会在几分钟甚至几小时的测试空间内翻转 5 倍)。
我在位于 Amazon Web Services (AWS) 的 SQL Server 实例中遇到了这个问题。这是因为查询会
@@servername
返回服务器的 AWS 名称,这在某种程度上是内部的,并且肯定与所谓的服务器名称不匹配。可以通过使用SERVERPROPERTY('servername')
而不是找到正确的名称@@servername