
Я настраиваю сеть виртуальных серверов на Azure.
1) Active Dir - Windows Server 2012 Datacenter
2) SQL Server - Windows Server 2012 Datacenter
3) Сервер приложений - Windows Server 2008 R2 Datacenter
4) Сервер приложений - Windows Server 2012 Datacenter
Все серверы видны в Active Directory и все серверы имеют IP-адреса
Настройка правил входа/выхода брандмауэра SQL Server для порта SQL по умолчанию 1433
Серверы приложений могут пинговать SQL-сервер, используя имя машины и IP-адрес.
Я подтвердил, что SQL Server прослушивает порт 1433 с помощью утилиты Port Query.
Для проверки возможности подключения SQL я создаю файл connection.udl на каждом сервере приложений и дважды щелкаю по нему, чтобы открыть пользовательский интерфейс.
Затем я настраиваю его для подключения к SQL-серверу, используя имя машины с поставщиком MS OLE DB для SQL Server, и нажимаю кнопку «Проверить соединение», которая возвращает ошибку:
---------------------------
Microsoft Data Link Error
---------------------------
Test connection failed because of an error in initializing provider. [DBNETLIB][ConnectionOpen (Connect()).]Specified SQL server not found.
---------------------------
OK
---------------------------
Затем я изменяю конфигурацию, чтобы использовать IP-адрес SQL-сервера вместо имени машины, и соединение устанавливается успешно.
Какие настройки следует изменить на любой или на всех этих машинах, чтобы убедиться, что соединение успешно установлено с использованием имени машины? Это очень странно, учитывая, что серверы приложений могут пинговать сервер SQL, используя IP или имя машины.
решение1
Проблема в том, что SQL Server 2012 теперь ТРЕБУЕТ указания порта, даже если используется порт по умолчанию 1433. Указание <>,<> необходимо для правильной работы соединения.