为什么SQL Server数据文件和日志文件最后更新日期不准?


看到网上有人提问为什么SQL Server数据更改了但是为什么数据库文件和日志文件的最好修改日期没有改变。其实这个是正常的 行为。

SQL Server文件的修改日期是在SQL Server关闭文件(Shutdown或者数据库被Detach,Offline)或者SQL Server数据文件或者日志文件增长(自动增长或者手动增长,这些我都自己测试过了)。其他时候SQL Server是绕过文件系统直接更新数据,所以不会更新Modify date.

从性能角度来说如果SQL Server每次更新文件的Modify date,对于一个大型的OLTP的交易数据库秒级别的,这样产生的开销是非常大的。

另外对于数据库使用者关心的是数据的更改,这个是从数据库应用软件查询的,而不是通过WINDOWS文件系统。而且数据库启动以后也只有SQL Server可以独占更新数据文件和日志文件,也就不存在有其他软件更新的状况,所以文件最后更新时间也不太重要。

欢迎大家讨论。

相关内容