使用 ntp 进行时钟同步

Clock synchronization with ntp

我正在实施一个物联网解决方案,使用 Azure SQL 数据库作为数据存储。 Android 设备与 NTP 同步时间。

我正在检查数据传输的延迟,并注意到 Azure SQL 数据库上的时间戳 getutcdate() 提前了大约 5 秒。有什么方法可以同步 Azure SQL 的时钟以获得更准确的时间吗?

时钟漂移是系统上的常见问题,依靠单一来源的时间来帮助确定参考时间。如果我记得有时间服务的话,Azure 上的 VMS 每周同步一次,但在 Azure SQL 方面不确定 - 会假设类似的东西(现在正在寻找相关文档)。考虑到 SQL 服务器的可能共享使用,我不希望能够更改它。依靠记录顺序和数据库时间作为你的 'master' 时间。即使每天同步一次,系统之间仍然存在漂移的可能性。在某些时间服务上,您的同步频率也受到限制 - 所以一定程度的漂移也是可以预料的,请在您的应用程序中考虑这一点。

我很难相信像 azure 这样的服务会出现错误的时间...最多会延迟 1 秒...想象一下 5...我发现 android 设备错误。

但是,直接回答您的问题,不,您无法在 SQL 数据库中更改它的时间,因为它是一个多租户服务...

如果您确实确认了班次,请通过工单通知 azure!这是一个严重错误,应立即更正!在"second"秒的时间范围

内绑定了多个合同项目

编辑 1
我刚刚测试了我的 iPhone、macbook 和 pc。所有时钟都与 azure 数据库时间匹配...精确到秒!