ARUBA INSTANT WI-FI: ПРОСТІ, ПОТУЖНІ, ДОСТУПНІ
База даних SQL Azure Database - це розроблений фахівцями Microsoft «хмарний» варіант SQL Server. Продукт SQL Azure дуже нагадує локальну версію SQL Server; він являє собою «хмарну» реляційну базу даних, до якої можна підключитися, і наділений безліччю відомих засобів управління і розробки з арсеналу SQL Server. В інформації, що публікується нижче статті я роз'ясню, як приступити до роботи з базою даних SQL Azure Database, а також як підключитися до SQL Azure і використовувати її в якості внутрішньої бази даних ваших додатків.
До ваших послуг
Вікно SQL Azure Management дозволяє виконувати дві ключові завдання: створювати бази даних і здійснювати підключення клієнтів до сервера SQL Azure. У процесі початкового підключення особливу увагу слід приділяти правильному написання імені сервера SQL Azure, яке необхідно вводити для установки з'єднання клієнта з базою даних.
Приступаючи роботі з SQL Azure, перш за все необхідно створити базу даних. Для цього потрібно перейти на вкладку Databases і натиснути кнопку Create Database. Ви побачите діалогове вікно, в якому можна вказати ім'я бази даних і її максимальний розмір. У мене була можливість вибрати один з двох показників - 1 Гбайт або 10 Гбайт. Для початкового тестування я створив базу даних pubs розміром в 1 Гбайт.
Після створення бази даних отримаємо рядок з'єднання з нею; для цього потрібно виставити прапорець перед даними і натиснути кнопку Connection Strings, яка розташована в нижній частині екрана 1. Це важливо, оскільки, на відміну від локальної системи SQL Server, користувач не може змінювати бази даних після підключення до SQL Azure. Необхідно встановлювати нове з'єднання для підключення до іншої бази даних. У лістингу наводиться приклад рядків підключення до SQL Azure з ADO.NET і ODBC.
Підключення до «хмари»
Присвоєння початкових значень в «хмарі»
Однак я відразу ж зіткнувся з труднощами: сценарій ніяк не виконувався. Справа в тому, що хоча SQL Azure нагадує локальну систему SQL Server, між ними є істотні відмінності. Перша виникла у мене проблема полягала в тому, що команда USE не підтримується. Це розумно, тому що користувач може підключатися тільки до однієї бази даних. Далі, я був дещо здивований тим, що для роботи з таблицями SQL Azure потрібно первинний кластерізованний індекс. Зіткнувшись з цими труднощами, я вирішив звернутися до оперативної документації.
Фахівці Microsoft рекомендують користувачам версії CTP наступний метод внесення даних в SQL Azure: запустити майстер Database Script Wizard, а потім вручну відредагувати створений сценарій. Для того щоб конвертувати демонстраційну базу даних pubs, я клацнув правою кнопкою миші елемент pubs і потім вибрав пункти Tasks, Generate Scripts. Виконавши необхідні дії в діалоговому вікні вітання, я перейшов в діалогове вікно Select Database і вибрав базу даних pubs, як показано на екрані 3.
Потім в діалоговому вікні Choose Script Options я змінив параметри сценарію, показані в таблиці. У цих параметрах проявляються майже всі вимоги до сценарію, оскільки SQL Azure не підтримує ні призначені для користувача типи даних, ні розширені властивості, ні інструкцію USE. Оскільки настройка Script Data передбачає прописування в сценарії як даних, так і схеми, цей метод для роботи з великими базами даних не підходить.
Далі я відредагував сценарій, тобто видалив всі елементи, які «не подобаються» системі SQL Azure. Перш за все, я видалив таку інструкцію в усіх рядках, де вона використовувалася:
Потім я відредагував всі інструкції CREATE TABLE і видалив наступну пропозицію:
Нарешті, я подбав про те, щоб всі інструкції CREATE TABLE мали обмеження кластерізованного первинного ключа. Такі обмеження вже існують в більшості таблиць баз даних pubs database, але, як виявилося, мені потрібно було відредагувати таблиці employee, discounts і roysched. Після внесення необхідних змін я запустив сценарій. В результаті в базі даних pubs були створені об'єкти і заповнені таблиці. Після цього я зміг звернутися із запитом до бази даних pubs в SQL Azure і отримати результат, що продемонстровано на екрані 5.
Як і слід було очікувати, SQL Azure підтримує всі стандартні запити на вибірку T-SQL, включаючи об'єднання декількох таблиць і підзапити на вибірку. Щоб отримати уявлення про те, які кошти не підтримуються системою SQL Azure, познайомтеся з врізкою «Ключові відмінності бази даних SQL Azure».
Прагнути до високої мети
Заповнивши базу даних, я спробував підключитися до SQL Azure з програми ADO.NET. Будь-які додаткові інструменти для цього не знадобилися. Зазначу, до речі, що Microsoft поставляє додатковий компонент Visual Studio, іменований Windows Azure Tools for Microsoft Visual Studio. Однак для створення додатків бази даних, які виконуються в середовищі SQL Azure, цей компонент не потрібно.
Щоб додати джерело даних SQL Azure, я клацнув на стрілці завдань DataGridView і вибрав в списку Choose Data Source пункт Add Project Data Source. В результаті на екрані відкрилося вікно майстра вибору джерела даних Data Source Configuration wizard. У діалоговому вікні Choose a Data Source Type я вибрав елемент Database і натиснув кнопку Next. Потім в діалоговому вікні Choose Your Data Connection був обраний пункт New Connection, і на екрані з'явилося діалогове вікно Add Connection. Спочатку я спробував додати з'єднання Microsoft SQL Server (SqlClient). Тестове з'єднання було встановлено, але я отримав повідомлення про помилку, коли намагався додати до проекту джерело даних. Замість цього мені потрібно було вибрати джерело Microsoft ODBC Data Source, і тоді на екрані з'явилося б діалогове вікно ODBC Add Connection, показане на екрані 6.
Я вибрав параметр Use connection string і ввів рядок з'єднання, отриману раніше у вікні диспетчера SQL Azure. Використана мною рядок з'єднання виглядає так:
Далі я зберіг з'єднання під ім'ям pubsConnectionString. Після цього в діалоговому вікні Choose Your Database Objects я вибрав таблицю authors. В результаті був створений набір даних, що забезпечує додавання, редагування та видалення даних з таблиці pubs в SQL Azure. В цілому процес формування додатка, який посів лише кілька хвилин, дуже нагадував роботу зі звичайною системою SQL Server. Виконання цього простого додатка ілюструє екран 7.
Час від часу виникали ситуації, де мені доводилося знову робити спроби підключитися до бази даних SQL Azure. У всіх інших відносинах процес розробки програми за допомогою SQL Azure дуже нагадував відповідний процес в локальній системі SQL Server. Хоча дане демопріложеніе було дуже простим, я виявив, що час відгуку не перевищує однієї секунди, тобто можна порівняти з тим часом, який відзначається при виконанні програми на локальній системі.
Ще не все гладко?
Приступаючи до роботи над статтею, я мав слабке уявлення про те, що ж, власне, таке ця служба SQL Azure і як її можна використовувати. Але попрацювавши якийсь час з SQL Azure, я усвідомив для себе її схожість з базою даних SQL Server і зрозумів, яким саме чином ця обставина полегшує впровадження і експлуатацію SQL Azure. Однак треба мати на увазі, що відмінності у вимогах до схеми і обмежені типи даних ускладнюють процес перенесення додатків на платформу SQL Azure. І навіть якщо такий процес буде успішно здійснено, цілком можливо, що переваги, отримані компаніями від використання платформи SQL Azure, залишаться досить скромними - з урахуванням того, що локальні системи SQL Server мають гарну масштабованість і мають безліч засобів для забезпечення високої доступності.
Лістинг. Рядки підключення SQL Azure
Ключові відмінності бази даних SQL Azure
Поділіться матеріалом з колегами і друзями