Потеряна синхронизация NTP на серверах SQL
Я только что заметил, что один из наших клиентских SQL-серверов синхронизируется с time.microsoft.com, остальная часть домена просматривает ntp.[Clients.domain].co.uk, поэтому наши SQL-серверы работают примерно за 3 минуты,
Мой аргумент заключается в том, что нам нужно остановить все службы SQL на обоих серверах одновременно, обновить службу времени до доменной и затем перезапустить все службы SQL> не менее чем через 3 минуты, чтобы избежать дублирования временных меток в базы данных.
другой аргумент, который у меня был, это "продолжай, я уверен, что все будет хорошо".
Я здесь слишком осторожен? Я не администратор SQL, и на самом деле на клиентских серверах SQL размещается множество сторонних БД, поэтому получение надежных ответов от них может занять некоторое время. К сожалению, это сводит на нет отчетность по колл-центру, так как записи в БД больше не связаны с телефонной системой, поэтому я получаю тепло от менеджера колл-центра и ее босса.
Я понимаю, что это может быть случай "это полностью зависит от природы баз данных, которые вы используете", но если это так, просто какой-нибудь дружеский совет?
Спасибо Патрик
2 ответа
В NTP встроен механизм медленного привлечения клиента к дисциплине в течение нескольких минут. Вы можете посмотреть, как это происходит с w32tm /stripchart /computer:ntptarget
после того, как вы выполнили команду resync. Существует порог, выше которого он не будет синхронизироваться, и поэтому вам, возможно, придется как-то форсировать его, если ваша разница слишком велика. Порог называется "MaxPosPhaseCorrection" и "MaxNegPhaseCorrection".
http://support.microsoft.com/kb/884776
http://support.microsoft.com/kb/314054
(Примечание: вывод "stripchart" выглядит лучше всего, когда ширина окна cmd увеличена с 80 до 120 столбцов. Properties-> Layout -> Window Size)
Исправьте конфигурацию NTP, а затем отпустите (без принудительной синхронизации). NTP, когда он обнаруживает небольшую разницу во времени, будет медленно наклонять часы к правильному времени a (т.е. прибавлять или вычитать.5 мс каждую секунду), пока не вернет часы для синхронизации.
Примечание: я знаю, что это точно для ntpd в Unix/Linux. Я не уверен на 100%, что он подходит для Windows.