Как заставить конечную точку зеркального отображения 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
Любые идеи, как настроить конечную точку кластеризованного экземпляра для прослушивания на всех интерфейсах? Спасибо!
1 ответ
Я был на правильном пути с одной ошибкой. Вторичный IP-адрес должен быть добавлен как зависимость для кластерного ресурса "Имя сервера", а не для самого SQL Server. После перезапуска службы SQL он начал прослушивать оба IP-адреса для оконечных точек TSQL и зеркалирования.