Проблемы импорта SQL Server Active Directory с британским летним временем (BST) - PullRequest
1 голос
/ 21 октября 2008

Я использую 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?

1 Ответ

1 голос
/ 21 октября 2008

Почему вы храните местное время в первую очередь? Свойство whenChanged уже дает вам время по Гринвичу, в этом часовом поясе нельзя «потерять» часы.

Это нормально, чтобы преобразовать в местное время для целей отображения, но я определенно сохраню GMT / UTC в БД.

...