Не удается подключить свидетеля зеркала базы данных - PullRequest
3 голосов
/ 22 сентября 2010

Я успешно настроил принципал и зеркало с SQL Server 2008 и Windows Server 2008 R2 64bit.Однако, когда я пытаюсь добавить свидетеля (SQL Server 2005 and Windows Server 2003 32bit) к миксу, я получаю следующие ошибки в журнале событий первичного сервера:

 EventID 1456 "The ALTER DATABASE command could not be sent to the remote 
     server instance 'TCP://SERVERNAME.DOMAIN:5022'. The database mirroring 
     configuration was not changed. Verify that the server is connected,
     and try again." and EventID 1474 "Database mirroring connection error 
      4 'An error occurred while receiving data: '64(The specified network name is 
      no longer available.)'.' for 'TCP://SERVERNAME.DOMAIN:5022'."

Я вижу временное установленное соединение на порту 5022 через netstatи SQL Profiler, а затем эти ошибки.

Кто-нибудь знает, почему это происходит?

Ответы [ 4 ]

2 голосов
/ 16 апреля 2011

У меня была точно такая же проблема.2 Server 2008 64-битные ящики, со свидетелем 2005 года.Было то же сообщение об ошибке, что и оригинальный постер.Также проверил все те же настройки, на что и укажет все поиск в Google.

В конце концов, это было исправлено путем перехода к свидетелю, работающему под управлением SQL 2008. Два дня разочарования по этому поводу.

К вашему сведению - так заявляет Microsoft в отношении сервера Witness.Я полагаю, вы можете прочитать в нее то, что хотите:

Рекомендации по программному и аппаратному обеспечению

Мы настоятельно рекомендуем, чтобы свидетель располагался на отдельном компьютере от партнеров.Партнеры по зеркальному отображению базы данных поддерживаются только в SQL Server 2005 Standard и более поздних версиях, а также в SQL Server 2005 Enterprise Edition и более поздних версиях.Свидетели, напротив, также поддерживаются рабочей группой SQL Server 2005 и более поздними версиями, а также SQL Server 2005 Express Edition и более поздними версиями.Свидетель может работать на любой надежной компьютерной системе, которая поддерживает любой из этих выпусков SQL Server.Однако мы рекомендуем, чтобы каждый экземпляр сервера, который используется в качестве свидетеля, соответствовал минимальной конфигурации, которая требуется для используемой версии SQL Server Standard.Дополнительные сведения об этих требованиях см. В разделе Требования к оборудованию и программному обеспечению для установки SQL Server 2008 R2. "

1 голос
/ 02 февраля 2012

Согласно Библии Microsoft SQL Server 2008, все серверы принципа, зеркала и свидетеля должны иметь одинаковое РЕДАКТИРОВАНИЕ SQL Server (2005 и 2008).Принцип и зеркало также должны иметь одну и ту же ВЕРСИЮ этого издания (Enterprise vs. Standard).Таким образом, свидетелем может быть любая версия (express, std, ent, рабочая группа ...), но также должна быть та же версия.

1 голос
/ 22 сентября 2010

Имя вашего партнера точно соответствует полному доменному имени зеркала?Поведение, которое вы описываете, может произойти, когда зеркало (или главное) знает себя (возвращение GetComputerNameEx) под другим именем, чем имя, используемое партнером в ALTER DATABASE ... SET PARTNER = 'tcp://partnername:...';.Рассмотрим следующий сценарий:

  • принципал использует имя Foo для зеркала.Foo разрешается через файл hosts на правильный IP-адрес зеркала
  • зеркало знает себя как Bar.
  • при добавлении свидетеля главная воля как "что являетсястатус Foo, ты его видишь?Зеркало доложит свидетелю: «Привет, я Bar».Таким образом, свидетель доложит директору: «Я не знаю, где находится Foo», и это может привести к срыву сеанса зеркалирования.

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

0 голосов
/ 08 февраля 2011

У меня была такая же проблема.Я отключил IP V6 на адаптерах и смог подключиться к следящему серверу. ОК.

...