Могу ли я использовать отказоустойчивого партнера в строке подключения для настройки не зеркального отображения SQL-сервера?

Я установил два экземпляра сервера SQL с IP-адресами, скажем, xxxx и yyyy. На уровне приложения при указании подключения к серверу SQL можно указать строку подключения, как показано ниже

<connection-url>jdbc:sqlserver://x.x.x.x:port; databaseName=productionDB; failoverPartner=jdbc:sqlserver://y.y.y.y:port</connection-url>

Я попытался обойти это, но когда я вручную отключаю базу данных SQL Server 1, на уровне приложения создается впечатление, что он действительно пытается подключиться ко второму серверу, но вместо этого происходит сбой

подключение к хосту гггг, порт 1433 не удалось. Ошибка:" null. Проверьте свойства подключения. Убедитесь, что экземпляр сервера SQL запущен на хосте и принимает подключения TCP/IP к порту. Убедитесь, что подключения TCP к порту не заблокированы брандмауэром.

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

1 ответ

Зеркальное отображение устарело в SQL 2016

https://docs.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2016

Вам придется использовать группы доступности SQL.

https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server

Это довольно легко настроить и работает хорошо.

Один из лучших и лучших способов прохождения, вам нужно изменить некоторые вещи, но это довольно хорошо.

http://blog.fedenko.info/2016/06/sql-server-2016-always-on-availability.html

Строка подключения не изменится, нужно только изменить IP-адрес подключения и добавить параметры безопасности на оборотной стороне.

Стандарт SQL 2016, использующий AlwaysOn Basic. В нескольких случаях нам пришлось использовать партнера по отказоустойчивости, поскольку для ответа на запрос либо SQL, либо контроллер домена слишком долго. Таким образом, в наших строках подключения для наших приложений у нас есть "Подключение данных =SERVERNAME\NAMEDINSTANCE;Failover Partner=SERVERNAME2\NAMEDINSTANCE;". Будучи базовым только с двумя узлами, это, кажется, работает правильно.

Другие вопросы по тегам