Назад | Перейти на главную страницу

Неудачные попытки входа в систему зеркального отображения базы данных на зеркальном сервере

Я настроил зеркальное отображение базы данных между двумя серверами на расстоянии 40 миль друг от друга.

Технические характеристики сервера: SQL Server 2008, Standard Edition, 64-разрядная версия.

То же самое для главного, зеркала и свидетеля. Конфигурация с высоким уровнем безопасности с автоматическим переключением при отказе

Первоначально мы протестировали наше .net-приложение (веб-приложение) как на основном сервере, так и на зеркале, и убедились, что логин не заблокирован.

В целом все работает нормально, но иногда на зеркальном сервере я вижу неудачные попытки входа в систему:

Ошибка входа для пользователя d0main \ user. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: xx.xx.x.x] Ошибка сообщения: 18456, уровень серьезности: 14, состояние: 38.

Эта ошибка появляется 3-4 раза в день, но не более того.

Мой вопрос к экспертам: если принципал жив, то почему приложение пытается подключиться к зеркалу. Тайм-аут по умолчанию для веб-страницы .net составляет 30 секунд, поэтому возможно ли, что приложение пытается подключиться к основному лицу, а через 30 секунд? секунд, даже если принципал жив, он предполагает, что он мертв, и поэтому пытается открыть соединение для зеркалирования, где оно терпит неудачу.

Пожалуйста, помогите мне с этой проблемой.

Привет, я надеюсь, что этот сайт ответит на ваши вопросы, так как я не уверен, в чем именно заключается ваш вопрос.

http://msdn.microsoft.com/en-us/library/ms190913.aspx

Или напрямую: для изменения значения тайм-аута (только в режиме повышенной безопасности)

* Use the ALTER DATABASE <database> SET PARTNER TIMEOUT <integer> statement.

Чтобы просмотреть текущее значение тайм-аута

* Query mirroring_connection_timeout in sys.database_mirroring.


Также проверьте эту статью в разделе «Перенаправление на стороне клиента»: http://technet.microsoft.com/en-us/library/cc917680.aspx

Партнер по отработке отказа в строке подключения используется в качестве альтернативного имени сервера в случае сбоя подключения к начальному основному серверу. Если соединение с начальным основным сервером установлено успешно, то имя партнера по отработке отказа не будет использоваться, но драйвер сохранит имя партнера по отработке отказа, которое он получает от основного сервера в кэше на стороне клиента.

Вы уверены, что ошибка исходит из приложения? Указывает ли IP-адрес на сервер приложений? Или это может быть какое-то другое приложение, например SSMS, которое пытается подключиться именно к зеркалу?

Если нет, убедитесь, что основной сервер не перегружен, если у него время высокой загрузки ЦП, он может не ответить на попытку подключения, я бы запустил Perfmon, чтобы посмотреть, как он выглядит.

Также проверьте журналы ошибок SQL и событий сервера на основном сервере на предмет любых необычных ошибок, которые совпадают со временем входа в систему на зеркале.