Виртуальная машина Azure Site Recovery не подключается к первому серверу SQL - PullRequest
0 голосов
/ 14 мая 2019

Постановка проблемы

У нас есть VPN-соединение размером 200 МБ с нашим клиентом Azure.

Мы тестируем восстановление сайта Azure (ASR), переключаясь с локальной виртуальной машины на Azure.На виртуальной машине размещается веб-приложение для мониторинга (RFCode), которое подключается к базе данных SQL на внутреннем сервере.

Отказ виртуальной машины от ASR работает хорошо.Однако, если виртуальная машина находится в Azure, она не может подключиться обратно к локальному SQL-серверу.

Ошибка:

Could not get JDBC Connection; nested exception is java.sql.SQLException: invalid database address:

Среда

  • Наш предварительный SQL-сервер - это SQL 2014 Enterprise на WFC.TCP / IP включен со статическим портом 1433.
  • Виртуальная машина работает под управлением Windows Server 2012 R2.

Устранение неполадок

  • Мы можем успешно пропинговать SQL по имени с виртуальной машины в Azure после отработки отказа.Таким образом, это не проблема DNS (конечно, пинг по IP тоже работает).Мы также можем выполнить ping обратно с хоста SQL на виртуальную машину в Azure.

  • Мы можем выполнить RDP на виртуальную машину, когда она будет в Azure.

  • Брандмауэр Windows отключен как на виртуальной машине, так и на серверах SQL.Насколько нам известно, в самом VPN-соединении нет никакой фильтрации.

  • Строка соединения, используемая приложением на премьере, не изменяется при сбое.Он работает предварительно, и ожидается, что он будет работать в Azure.

  • В строке подключения указано правильное имя базы данных (оно не изменилось с прежнего)

  • В SQL нет сообщений об ошибкахпотому что не похоже, что приложение достигает сервера.

Разумеется, я ожидаю, что виртуальная машина в Azure подключится к серверной части SQL после сбоя ASR так же, как и при предварительной установке.

Есть какие-нибудь предложения, что еще проверить?

Вот полная ошибка приложения

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: invalid database address: jdbc:jtds:sqlserver://MyFQDNinstancename:1433/RFCodeDB;sendStringParametersAsUnicode=false;cacheMetaData=true
                at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80) ~[spring-jdbc-3.2.6.RELEASE.jar:3.2.6.RELEASE]
                at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382) ~[spring-jdbc-3.2.6.RELEASE.jar:3.2.6.RELEASE]
                at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:428) ~[spring-jdbc-3.2.6.RELEASE.jar:3.2.6.RELEASE]
                at com.rfcode.config.SystemPropertiesService.testDatabaseConnection(SystemPropertiesService.java:450) [com.rfcode.config-4.0.jar:na]
                at com.rfcode.config.SystemPropertiesService.testDatabaseConnection(SystemPropertiesService.java:433) [com.rfcode.config-4.0.jar:na]
                at com.rfcode.t1.service.impl.DatabaseMonitor$Monitor.testDBConnection(DatabaseMonitor.java:111) [classes/:na]
                at com.rfcode.t1.service.impl.DatabaseMonitor$Monitor.run(DatabaseMonitor.java:104) [classes/:na]
                at java.lang.Thread.run(Thread.java:745) [na:1.8.0_31]
Caused by: java.sql.SQLException: invalid database address: jdbc:jtds:sqlserver://MyFQDNInstancename:1433/RFCodeDB;sendStringParametersAsUnicode=false;cacheMetaData=true
                at org.sqlite.JDBC.createConnection(JDBC.java:110) ~[sqlite-jdbc-3.7.15-M1.jar:na]
                at org.sqlite.JDBC.connect(JDBC.java:87) ~[sqlite-jdbc-3.7.15-M1.jar:na]
                at java.sql.DriverManager.getConnection(DriverManager.java:664) ~[na:1.8.0_31]
                at java.sql.DriverManager.getConnection(DriverManager.java:208) ~[na:1.8.0_31]
                at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:173) ~[spring-jdbc-3.2.6.RELEASE.jar:3.2.6.RELEASE]
                at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:164) ~[spring-jdbc-3.2.6.RELEASE.jar:3.2.6.RELEASE]
                at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:153) ~[spring-jdbc-3.2.6.RELEASE.jar:3.2.6.RELEASE]
                at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119) ~[spring-jdbc-3.2.6.RELEASE.jar:3.2.6.RELEASE]
                at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) ~[spring-jdbc-3.2.6.RELEASE.jar:3.2.6.RELEASE]
                at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) ~[spring-jdbc-3.2.6.RELEASE.jar:3.2.6.RELEASE]
                ... 7 common frames omitted````
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...