Как стать автором
Обновить

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

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



В облаке Microsoft Azure уже давно есть возможность размещать бесплатные Azure Web Sites. Отдельно скажу, что студенты в рамках программы DreamSpark могут получить доступ к 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.



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

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

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



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

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

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



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



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



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





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





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



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

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

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







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

Публикации

Истории

Работа

.NET разработчик
74 вакансии

Ближайшие события