NA.*_*NA. -9 sql-server windows datafile
我有 SQL Server 数据库,我们有很多表。为了提高性能,我为索引创建了不同的文件组,其中包含不同磁盘上的文件。我今天在不同的文件组中创建了新索引。但是,我仍然看到文件的最后修改日期为过去 1 个月。我检查了文件名,但我担心 SQL Server 没有设置文件的上次修改日期。新索引工作正常,但文件仍然没有向我显示最近的修改日期。
好的,我刚刚学到了一些新东西,SQL Server 的数据目录中的任何文件都没有显示上次修改日期到最近日期,而我的数据库也在不断更新。所有日期均为 1 个月大。服务器的系统时钟正确。
Aar*_*and 15
把数据文件想象成一个容器,就像你的冰箱一样。冰箱不会告诉你牛奶什么时候坏了(好吧,也许 Jetsons 的冰箱会) - 你需要检查里面。
对于 SQL Server,Windows 中的时间戳与您在文件内更改的数据无关;它与文件本身的最后一次更改有关,例如服务重新启动,或者 - 更常见的是 - 增长或收缩事件(用户或系统启动)。这可能当你已经修改了文件中的数据发生,但不会发生每次(除非你设置自动增长到1 MB,你会不断地添加了更多的数据比)。如果您创建了索引并且文件中有可用空间,则它可以使用现有空间而无需更改容器,因此 Windows 没有任何理由知道它,更不用说更新时间戳了。
简而言之,你应该停止担心。这就是 SQL Server 的工作方式。这是不关闭 SQL Server 服务的时间戳更新的演示:
SQL Server 在打开数据库文件时不使用默认访问路径。相反,它使用自己的低级驱动程序来获得尽可能高的性能。因此,您不能依赖 Windows 显示的有关文件的任何信息。而是咨询适当的系统视图和 DMV。
但是,我不知道有什么方法可以通过 SQL 确定特定文件的最后写入时间。
归档时间: |
|
查看次数: |
2612 次 |
最近记录: |