У меня есть стандартный экземпляр кластеризованного 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 и зеркалирования.