Трохи халяви в Microsoft Azure або створюємо безкоштовну SQL Database в хмарі

Всім привіт, цей невеликий мануал буде корисний тим, хто хоче користуватися SQL Database в хмарі Azure, але з ряду причин ще це не робить. Як відомо, Microsoft Azure — це хмарний хостинг, який з недавнього часу є безкоштовним для студентів. Сьогодні я хочу розповісти про спосіб, схожий з тим, що був описаний в статті мого колеги MSP (але трохи відрізняється), як користуватися SQL Database в хмарі абсолютно безкоштовно.



В хмарі Microsoft Azure вже давно є можливість розміщувати безкоштовні Azure Web Sites. Окремо скажу, що студенти в рамках програми DreamSpark можуть отримати доступ до Azure Web Sites, MySQL Database (до 32 мб) і деякі інші можливості хмари Azure. З недавнього часу, з підписки DreamSpark для студентів доступна SQL Azure 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 під час налаштування розгортання, але щоб уникнути помилок я рекомендую зробити це через портал Online.





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





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



Microsoft SQL Server Compact працює відмінно в Azure, але даний метод з розгортанням БД в хмарі можна застосувати до різних ASP .NET хостингу, де SQL БД дорогі/тільки платні.

Даний метод має один недолік, порівняно з методом, описаному в даній статті, а саме, з SQL *.sdf БД працювати не так зручно, як з *.mdf. Щоб переглянути вміст *.sdf бази, я використовую LINQPad 5.

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







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

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.