Подключение к внутренней базе данных SQL из веб-приложения Azure - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь создать веб-сервис, который взаимодействует с базой данных SQL, размещенной на сервере в нашей внутренней сети.Служба размещается в Azure как веб-приложение.Есть ли хороший способ сделать это?Нужно ли мне использовать базы данных Azure Sql, и если да, то есть ли способ заставить базу данных Azure выступать в качестве прокси-сервера для нашей внутренней базы данных?

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

Ошибка возникает при попытке вызвать хранимую процедуру (через сгенерированный код структуры сущности) и выглядит следующим образом:

Произошла ошибка: System.Data.Entity.Core.EntityException: базоваяпровайдер не удалось открыть.---> System.Data.SqlClient.SqlException: произошла ошибка, связанная с сетью или экземпляром, при установлении соединения с SQL Server.Сервер не найден или не был доступен.Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений.

В нашей базе данных разрешены удаленные подключения, поэтому, как я предполагаю, веб-приложение испытывает трудности при подключении к нашей vpn.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Спасибо,

Джош

Ответы [ 3 ]

0 голосов
/ 16 мая 2019

Первый вариант - посмотреть на гибридное соединение службы приложений Azure, но для этого у вас должен быть установлен Windows Server 2012 или выше.

Гибридное соединение службы приложений Azure

Гибридное соединение службы приложений Azure хорошо, если вы извлекаете небольшой объем данных.

Если вы извлекаете большой объем данных или ваша версия сервера SQL ниже версии сервера 2012, у вас есть два варианта:

  1. Сайт Azure для сайта VPN

  2. Синхронизация данных SQL Azure

Синхронизация базы данных SQL Azure - это функция, доступная в базе данных SQL Azure.Вы можете создать базу данных Azure SQL в Azure и синхронизировать локальную базу данных SQL или таблицу базы данных SQL с базой данных SQL Azure, и вы можете подключить свое приложение к базе данных SQL Azure вместо подключения к локальному серверу базы данных.Это повысит производительность вашего приложения.

0 голосов
/ 13 июня 2019

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

Что было очень полезно при отладке, так это консоль Kudu в Azure в разделе Дополнительные инструменты -> консоль. Там вы можете запускать команды с компьютера, на котором размещено ваше приложение, например ping или ниже:

sqlcmd -S tcp: имя_сервера, 1433 -U Имя пользователя -d имя-базы данных -P пароль -q "SELECT * FROM tablename"

0 голосов
/ 15 мая 2019

Вы можете использовать гибридные подключения Azure, которые являются функцией службы приложений. В службе приложений гибридные подключения можно использовать для доступа к ресурсам приложений в других сетях. Он предоставляет доступ из вашего приложения к конечной точке приложения и использует службу ретрансляции Azure для подключения к локальной сети. Проверьте ссылку ниже для более подробной информации:

https://docs.microsoft.com/en-us/azure/app-service/app-service-hybrid-connections

...