Установка выглядит следующим образом:
Клиент C ++ подключается через собственный клиент OLEDB / SQL к базе данных SQL Server 2005, расположенной на другом компьютере. Сервер настроен на зеркалирование (автоматическое переключение при сбое) с синхронизированным сервером, расположенным на другом сервере, и следящим сервером на другом сервере.
Иногда (раз в пару дней) наше приложение блокируется тем, что оно пытается установить соединение базы данных с базой данных, а не просто сбоит, и OLEDB, выбрасывающий ошибку соединения с базой данных, просто «застревает» (мы есть время ожидания для соединения, но оно никогда не истекает). От 24 до 36 часов позже мы получим ошибку:
TCP Provider: An existing connection was forcibly closed by the remote host.
И многие из этих ошибок продолжат вас, и в конечном итоге наше приложение необходимо будет перезапустить. Мы не можем понять, какое состояние может быть причиной такого поведения и что мы можем с этим сделать?
В предварительном исследовании я видел некоторые связанные проблемы, которые были решены путем установки для свойства строки подключения Connection Lifetime значения, отличного от нуля.
У кого-нибудь есть мысли о том, что здесь может происходить?