2014-12-18 2 views
1

Я воспользовался этой статьей, чтобы помочь настроить и настроить SQL Server на Azure VM и потратить время на то, чтобы выяснить, почему я не могу подключиться к моей ASP.NET веб-приложение с виртуальной машиной EC2.Не удается подключиться к SQL Server на Azure VM

http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-provision-sql-server/#SSMS

Я попытался настраивая строки соединения различных способов и, конечно, получить различные сообщения. Вот последняя, ​​на которой я сосредоточен.

«Запрошенное имя действительно, но данные запрошенного типа не был найден»

Вот моя строка соединения:

Server=tcp:XXXXXX.cloudapp.net;User ID=XXX;Password=XXXX;Database=XXX;trusted_connection=false; integrated security=false; encrypt=true;TrustServerCertificate=True 

Порт 1433 открыт на сервере, и я могу подключиться через мой локальный SQL Server без проблем. Идеи, почему я не смог бы подключиться к веб-приложению? Я проверил доступ к домену через nslookup.

ответ

0

Приведенные ниже инструкции указывают, что конечная точка публичной виртуальной машины должна иметь порт 57500 (публично открыт) и отображаться внутри 1433. Так как вы подключаете от AWS EC2, это, несомненно, будет подключение через Интернет и, следовательно, использовать общедоступный VM TCP Конточка, так что вам необходимо указать порт явно в вашей строке соединения:

Server=XXXXXX.cloudapp.net,57500;User ID=XXX;Password=XXXX;Database=XXX;trusted_connection=false; integrated security=false; encrypt=true;TrustServerCertificate=True 

(Примечание синтаксис включает запятую, а не разделитель порта двоеточия в строках соединения).

Пример строки подключения в нижней части приведенной ниже инструкции инструкции не указывает, что вам нужно указать порт для вашего экземпляра.

Кроме того, стоит дважды проверить в Sql Server Configuration Manager, что экземпляр сервера имеет фиксированный порт для TCP/IP и что TCP/IP включен; именованные экземпляры по умолчанию будут использовать динамические порты, которые трудно работать с брандмауэрами. Хороший обзор общего поведения портов сервера Sql (1433 против 1434 и т. Д.) Находится здесь: http://msdn.microsoft.com/en-us/library/ms175483(v=sql.105).aspx

+0

Hi Iheria. Я прочитал то, что вы предложили, и удвоил все проверил, и я все еще получаю сообщение «Запрашиваемое имя действительно, но данных об запрошенном типе не было найдено». Я попытался подключиться через SQL Manager от EC2 до Azure и без проблем. Вот моя последняя строка подключения. connectionString = "Server = tcp: xxxx.cloudapp.net, 57500; User ID = xxxx; Password = xxxx; Database = xxxx; trusted_connection = false; Integrated Security = false; Encrypt = true; Trusted_Connection = false; TrustServerCertificate = правда;" databaseVersion = «2008» – Todd

+0

Вы можете попытаться упростить строку подключения до минимального уровня: «Server = XXXXX.cloudapp.net, 57500; Database = XXX; User ID = XXX; Password = XXXX; (обратите внимание, включая удаление префикса tcp:). – lheria

Смежные вопросы