Могу ли я использовать отказоустойчивого партнера в строке подключения для настройки не зеркального отображения 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
Вам придется использовать группы доступности SQL.
Это довольно легко настроить и работает хорошо.
Один из лучших и лучших способов прохождения, вам нужно изменить некоторые вещи, но это довольно хорошо.
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;". Будучи базовым только с двумя узлами, это, кажется, работает правильно.