我正在使用SQL Server ADSI从Active Directory导入数据,并使用whenChanged字段来控制是否需要重新导入组的成员。
问题是格林威治标准时间正在退回日期,我现在在BST。
所以,今天上午9点50分成员更改,我说的AD工具是9:50,但ADSI查询返回8:50。这意味着如果一小时内发生两次变化,我将错过一次。
我使用的查询如下所示:
Select distinguishedName, whenChanged
From OpenQuery(ADSI, '<LDAP://OU=Groups,DC=mydomain,DC=adr>;(objectCategory=Group);distingusihedName, whenChanged')
我可以使用另一个可以给我准确日期的字段吗?有没有更好的方法来做我在SQL Server中尝试做的事情?
答案 0 :(得分:1)
为什么要首先存储当地时间? whenChanged
属性已经为您提供GMT,在该时区内任何时间都不会“丢失”。
可以转换为当地时间用于显示目的,但我肯定会将GMT / UTC存储在数据库中。