Всем привет, этот небольшой мануал будет полезен тем, кто хочет пользоваться SQL Database в облаке Azure, но по ряду причин еще это не делает. Как известно, Microsoft Azure — это облачный
В облаке 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 ГБ на дороге не валяется!
Автор: Sevenmi007