2

У меня есть трио серверов Windows (data1, data2 и datawitness), которые не являются частью какого-либо домена и не используют AD. Я пытаюсь настроить зеркалирование на основе инструкций на http://alan328.com/SQL2005_Database_Mirroring_Tutorial.aspx. У меня был успех вплоть до окончательного набора инструкций, где я говорю data1 использовать datawitness в качестве сервера-свидетеля. Этот шаг не может со следующим сообщением:Устранение неполадок в программе зеркалирования SQL Server w/error

alter database MyDatabase set witness = 'TCP://datawitness.somedomain.com:7024'

The ALTER DATABASE command could not be sent to the remote server instance 'TCP://datawitness.somedomain.com:7024'. The database mirroring configuration was not changed. Verify that the server is connected, and try again.

Я протестировал оба порта 7024, а также 1433 с помощью Telnet и оба сервера могут действительно соединиться друг с другом. Я также могу добавить соединение с сервером-свидетелем из SQL Server Manager на основном сервере. Я использовал Configuration Manager на обоих серверах для включения Named Pipes и проверки того, что IP-трафик включен и по умолчанию используется порт 1433.

Что еще это может быть? Нужны ли мне дополнительные порты для работы? (Правила брандмауэра очень ограничительные, но я знаю, что движение на ранее упомянутые порты явно разрешено)

Предостережения, которые стоят упомянуть здесь:

  • Каждый сервер находится в другом сегменте сетей

  • сервера не используют AD и не являются частью домена

  • Там нет DNS-сервера настроен для этих серверов, поэтому я использую файл HOSTS для отображения доменных имен в IP-адреса (Verifi с помощью telnet, ping и т. д.).

  • правила брандмауэра является очень жестким и не имеет прямой доступ настроить их, хотя я могу позвонить в случае необходимости изменения

  • data1 и data2 использования SQL Server 2008, Datawitness использует SQL Экспресс 2005. Все они используют экземпляр по умолчанию (то есть ни один из них не называются экземпляры)

ответ

8

После расчесывания через блоги и статьи KB и сообщения в форуме и переустановки и перенастройки и перезагрузки и профилирования, и т.д., и т.д., и т.д. , Я, наконец, нашел ключ к головоломке - запись в журнале событий в отчете сервера-свидетеля ред этой ошибка:

Database mirroring connection error 2 'DNS lookup failed with error: '11001(No such host is known.)'.' for 'TCP://ABC-WEB01:7024'. 

Я использовал хост-файл на карту фиктивных доменные имен для всех трех серверов в виде datax.mydomain.com. Тем не менее, теперь очевидно, что свидетель пытался связаться с использованием имени основного сервера, на котором у меня не было записей хостов. Просто добавив еще одну запись для ABC-WEB01, указывающую на основной веб-сервер, сделал трюк. Нет ошибок и зеркалирования наконец завершено.

Надеюсь, это спасет кого-то еще миллиард часов.

+0

Выходи за меня ..... Это, кажется, сделал трюк для нас, хотя в базе данных момент зеркального отображения монитора говорит Зеркало и свидетель отсоединены от Афоризм, но я начну смотреть в это сейчас. –

0

Я хотел бы добавить еще один дополнительный ответ на этот конкретный вопрос, так как мой комментарий к ответу Криса показывает, что мое зеркало появляется как отключенное (к свидетелю). Априори, вам нужно перезагрузить (или в моем случае я просто оставил сервис) сервер-свидетель.

Как только я это сделал, зеркало показало соединение Свидетеля как подключенное!

См: http://www.bigresource.com/Tracker/Track-ms_sql-cBsxsUSH/

 Смежные вопросы

  • Нет связанных вопросов^_^