Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 系统时间关闭时如何使用SQL Server的GETDATE()?_C#_Sql Server_Sql Server 2008_Datetime_Systemtime - Fatal编程技术网

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

C# 系统时间关闭时如何使用SQL Server的GETDATE()?,c#,sql-server,sql-server-2008,datetime,systemtime,C#,Sql Server,Sql Server 2008,Datetime,Systemtime,我正在写一个应用程序,它需要精确到几秒钟的时间,没有什么疯狂的。应用程序是C语言的,它与SQL Server接口,两者都位于同一台机器上。在我的应用程序代码中,我从NTP服务器获取时间,但我希望能够编写使用GETDATE的SQL语句,而不必在SQL语句中写入当前时间 不幸的是,服务器上的系统时间不能随时间保持准确。有没有办法在系统时间关闭时使用GETDATE?我宁愿避免编写从NTP服务器检索时间,然后更新系统时间的代码。您不需要自己编写任何代码来与NTP通信-您只需启用Windows time服

我正在写一个应用程序,它需要精确到几秒钟的时间,没有什么疯狂的。应用程序是C语言的,它与SQL Server接口,两者都位于同一台机器上。在我的应用程序代码中,我从NTP服务器获取时间,但我希望能够编写使用GETDATE的SQL语句,而不必在SQL语句中写入当前时间


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

您不需要自己编写任何代码来与NTP通信-您只需启用Windows time服务即可,该服务将自己完成。如果你发现你的系统时钟仍然漂移得太快,这表明电脑可能出了问题——时间服务应该经常同步,使它保持在非常接近的位置


编辑:如果Windows时间服务没有保持足够的准确性,我相信还有很多其他NTP客户端将在Windows中作为服务运行。我很确定我曾经跑过。。。不过,我绝对不会建议您自己编写,因为它已经完成了。

您不需要自己编写任何代码来与NTP通信-您应该能够启用Windows Time服务,它本身就可以完成。如果你发现你的系统时钟仍然漂移得太快,这表明电脑可能出了问题——时间服务应该经常同步,使它保持在非常接近的位置


编辑:如果Windows时间服务没有保持足够的准确性,我相信还有很多其他NTP客户端将在Windows中作为服务运行。我很确定我曾经跑过。。。不过,我绝对不会建议您自己编写,因为它已经完成了。

问题在于windows time服务的设计目的是让时钟足够接近kerberos身份验证工作,kerberos票证需要5分钟的时间窗口。它将使时钟保持在几秒钟之内,但与适当的NTP解决方案相差甚远。@StrayCatDBA:这让我感到惊讶-但正如您在评论中所说,您可以很容易地运行另一个NTP服务。我会把它编辑成我的答案。此外,还描述了精度的限制。是的,我以前也被这个问题困扰过。谢谢,我将尝试使用NetTime作为NTP客户端。问题是windows time服务的设计使时钟足够近,以便kerberos身份验证工作。kerberos票证需要5分钟的窗口。它将使时钟保持在几秒钟之内,但与适当的NTP解决方案相差甚远。@StrayCatDBA:这让我感到惊讶-但正如您在评论中所说,您可以很容易地运行另一个NTP服务。我会把它编辑成我的答案。此外,还描述了精度的限制。是的,我以前也被这个问题困扰过。谢谢,我将尝试使用NetTime作为NTP客户端。您可以在sql server上运行一个真正的NTP客户端来保持时钟同步,从而同步getdate。您可以在sql server上运行一个真正的NTP客户端来保持时钟同步,从而同步getdate。