如何在系统时间关闭时使用SQL Server的GETDATE()?

yto*_*ano 1 c# sql-server datetime systemtime sql-server-2008

我正在编写一个需要准确时间的应用程序(准确到几秒钟,没什么了不起的).该应用程序位于C#中,它与SQL Server连接,两者都驻留在同一台机器上.在我的应用程序代码中,我从NTP服务器获得时间,但我希望能够编写使用GETDATE()的SQL语句,而不必在SQL语句中写入当前时间.

不幸的是,服务器上的系统时间不会随着时间的推移保持准确.有没有办法在系统时间关闭时使用GETDATE()?我宁愿避免编写从NTP服务器检索时间然后更新系统时间的代码.

Jon*_*eet 5

您不需要自己编写任何代码来与NTP交谈 - 您应该只能启用Windows时间服务,它将自行完成.如果您发现系统时钟仍然漂移太快,则表明计算机可能存在问题 - 时间服务应该经常同步以使其保持非常接近.

编辑:如果建议Windows时间服务不能保持足够的准确性,我敢肯定有很多其他NTP客户端将作为Windows中的服务运行.我很确定我曾经运行NetTime ......我绝对不会建议你自己编写它,只是因为它已经完成了.