Когда мое приложение запускается, я получаю дату/время с SQL Server с помощью SELECT CURRENT_TIMESTAMP
и сравнивая разницу с локальной датой/временем - и записываю это смещение. Каждое действие, которое записывает дату/время, будет скорректировано на основе этой разницы во времени. Поэтому всякий раз, когда я сохраняю дату/время, это будет сервер, не запрашивая сервер каждый раз каждый раз, когда мне это нужно.Как измерить точное смещение по времени от SQL Server?
Проблема в том, предположим, что этот сервер находится на полпути по всему миру, и в этом есть небольшая задержка. Мне нужно учитывать и эту задержку. Не отставание от запроса к ответу, а скорее сервер-прием-запрос-ответ.
Как измерить это время задержки между моментом, когда SQL Server получает текущую дату/время до момента получения моего приложения?
Учитывая, что SQL Server - такой мощный механизм базы данных, я бы предположил, что для этого есть встроенный трюк.
Мне любопытно, что приложение требует этой точности. Если вам нужно знать точное время на сайте сервера, вопрос о сетевом отставании может быть наименее из ваших проблем. –
Не было бы лучше синхронизировать все ваши серверы с общим источником времени и хранить все даты через 'GETUTCDATE()' – podiluska
Это уже хорошо развитое устаревшее приложение с транзакционной структурой, которая в настоящее время имеет очень плохой способ отслеживания времени. Все записывается как дата/время сервера, но он запрашивает сервер каждый раз, когда он ему нужен. Я настраиваю его, чтобы сделать его более точным и более эффективным, сохраняя при этом структуру базы данных в тактике (никаких серьезных изменений). Если бы это было в раннем развитии, я бы использовал UTC. –