- PVSM.RU - https://www.pvsm.ru -

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке

Всем привет, этот небольшой мануал будет полезен тем, кто хочет пользоваться SQL Database в облаке Azure, но по ряду причин еще это не делает. Как известно, Microsoft Azure — это облачный хостинг [1], который с недавнего времени является бесплатным для студентов. Сегодня я хочу рассказать про способ, схожий со тем, что был описан в статье моего коллеги MSP [2] (но немного отличающийся), как пользоваться SQL Database в облаке абсолютно бесплатно.

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 1

В облаке Microsoft Azure уже давно есть возможность размещать бесплатные Azure Web Sites. Отдельно скажу, что студенты в рамках программы DreamSpark [3] могут получить доступ к Azure Web Sites, MySQL Database (до 32 мб) и некоторые другие возможности облака Azure. С недавнего времени, по подписке DreamSpark для студентов доступна Azure SQL Database, но только объемом до 32 мб. Но, если нельзя бесплатно получить большее, но очень хочется, — то можно.
На помощь нам в деле создания проекта с бесплатной SQL Database в облаке придет SQL Server Compact, но обо всем по порядку.

Microsoft® SQL Server™ Compact 4.0 — бесплатная встроенная БД, которую можно использовать для создания веб-сайтов ASP.NET и приложений для компьютеров с ОС Windows. SQL Server Compact 4.0 занимает мало места и поддерживает частное развертывание исполняемого модуля в папке приложения, упрощает разработку в Visual Studio и WebMatrix и обеспечивает удобную миграцию схемы и данных в SQL Server.

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 2

База данных SQL CE находится в одном файле .sdf. Что касается ограничений на размер такой БД, так это целых 4 ГБ! Файл .sdf может быть просто скопирован в целевую систему для развертывания, — именно этим мы и воспользуемся.

Для начала возьмем какой-нибудь проект, в котором уже используется БД SQL Server или создадим новый.
Я буду использовать небольшой готовый проект, в котором используется SQL Server и Entity Framework.

Для начала через NuGet установим «EntityFramework.SqlServerCompact». Этого хватит, т.к. при установке остальные необходимые пакеты загрузятся сами.

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 3

Далее необходимо изменить connectionString и привести ее к виду:

<add name ="DefaultConnection" connectionString ="Data Source=|DataDirectory|DB.sdf" providerName ="System.Data.SqlServerCe.4.0" />

N.B. формат БД именно *.sdf

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 4

После запускаем проект, и в папке App_Data нашего приложения появится файл БД SQL CE.

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 5

Следующим шагом необходимо включить данный файл в проект. Для этого добавляем файл *.sdf в папку App_Data в Visual Studio.

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 6

Теперь все готово для развертывания приложения в облаке. Как я говорилось ранее, в Azure можно размещать бесплатные Azure Web Sites. Сайт можно создать непосредственно из Visual Studio во время настройки развертывания, но во избежание ошибок я рекомендую сделать это через портал Azure [4].

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 7

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 8

Далее нужно вернуться в Visual Studio и опубликовать приложение, выбрав на втором шаге созданное веб-приложение.

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 9

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 10

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

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 11

Microsoft SQL Server Compact работает отлично в Azure, но данный метод с развертыванием БД в облаке можно применить к различным ASP .NET хостингам, где SQL БД дорогие/только платные.

Данный метод имеет один недостаток, по сравнению с методом, описанном в данной статье [2], а именно, с SQL *.sdf БД работать не так удобно, как с *.mdf. Чтобы просмотреть содержимое *.sdf базы, я использую LINQPad 5 [5].

Для этого я скачиваю файл БД (через установленное в Azure расширение VS Online) и загружаю его в LINQPad.

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 12

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 13

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке - 14

На этом все! Как студент могу сказать, что подобного рода «халява» очень даже привлекательна, ведь SQL Server Database в облаке на 4 ГБ на дороге не валяется!

Автор: Sevenmi007

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/net/110448

Ссылки в тексте:

[1] хостинг: https://www.reg.ru/?rlink=reflink-717

[2] статье моего коллеги MSP: https://habrahabr.ru/post/275785/

[3] DreamSpark: http://habrahabr.ru/company/microsoft/blog/269159/

[4] портал Azure: https://portal.azure.com

[5] LINQPad 5: http://www.linqpad.net/download.aspx

[6] Источник: https://habrahabr.ru/post/275969/