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

Как заставить конечную точку зеркалирования SQL на кластеризованном экземпляре SQL 2012 прослушивать все IP-адреса?

У меня есть стандартный экземпляр кластеризованного SQL 2012, и я хочу настроить зеркальное отображение базы данных. Мне также нужно направить зеркальный трафик через отдельный сетевой адаптер. Мы добавили вторичный IP-адрес в роль кластера SQL-сервера в качестве ресурса «IP-адрес», на стороне отказоустойчивого кластера вторичная сеть настроена так, чтобы разрешать трафик «кластер и клиент». Я добавил зависимость SQL-сервера от вторичного IP-адреса и перезапустил роль, но конечная точка зеркалирования по-прежнему прослушивает только первичный интерфейс (ресурс сетевого имени SQL) кластерной роли.

Слушатель был создан этой командой:

CREATE ENDPOINT [endpointMirror] STATE=STARTED AS TCP (LISTENER_PORT = 7022, LISTENER_IP = ALL) FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE, ENCRYPTION = REQUIRED)

но на самом деле он прослушивает только первичный кластерный IP-адрес экземпляра (например, 10.1.1.208):

C:\>netstat -ano | find "7022"
  TCP    10.1.1.208:7022     0.0.0.0:0              LISTENING       12584

в то время как на некластеризованном сервере SQL, который также имеет 2 сетевых интерфейса, я вижу желаемое поведение, и конечная точка прослушивает все IP-адреса:

C:\>netstat -ano | find "7022"
  TCP    0.0.0.0:7022           0.0.0.0:0              LISTENING       3836

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

Я был на правильном пути всего с одной ошибкой. Вторичный IP-адрес должен быть добавлен как зависимость для ресурса кластера Server Name, а не для самого SQL Server. После перезапуска службы SQL он начал прослушивать оба IP-адреса для конечных точек TSQL и зеркалирования.