SQL Azure (October CTP) и я летаю в облаках

Источник: t-sql
Алексей Князев


Платформа Azure™ Services Platform создана с целью радикально изменить подход архитекторов и разработчиков к построению и управлению приложениями. Azure™ Services Platform обеспечивает среду обработки данных в Интернет-облаке для выполнения приложений и хранения данных в информационных центрах Microsoft по всему миру. Во многих отношениях эту платформу можно рассматривать как Windows® в облаке.

SQL Azure (прежнее название SQL Services) - проекция традиционного SQL Server на облако, предоставляющая возможности для работы с базой данных посредством интернет-сервисов. Эта технология позволяет хранить структурированную и неструктурированную информацию, исполнять реляционные запросы, а также предоставляет функционал для осуществления поиска, создания аналитических отчётов, интеграции и синхронизации данных. На данный момент SQL Azure поддерживает сервис реляционных баз данных, имеющий название SQL Azure Database.

SQL Azure Database (прежнее название SQL Server Data Services, затем SQL Data Services) - облачная платформа реляционной базы данных, построенная на технологиях SQL Server. При использовании этой платформы можно легко построить в облаке проект реляционной базы данных со всеми преимуществами, предоставляемыми любой облачной технологией. Кроме того, SQL Azure предоставляет высокий уровень безопасности со встроенной защитой данных, самовосстановлением и системой резервного копирования.

Так как совсем недавно стал доступен октябрьский SQL Azure СТР, то я решил тоже пройтись по облакам. Тем более, что лично получил приглашение: Welcome to the SQL Azure October CTP! We are excited to have you join us. Below are some steps to get you started, as well as links to helpful resources.
Getting Started
1) Visit https://sql.azure.com
2) Sign in with a valid Windows LiveID
3) Enter your invitation code
4) Create your SQL Azure Server (and databases)


Как видно из слайда изначально доступна одна база данных master. Чтобы определить строку подключения к БД, достаточно выделить базу и нажать "Connection Strings":

SQL Azure Database снабжена необходимыми интерфейсами для подключения через PHP, ODBC, OLE DB и ADO.NET.
Создать пользовательскую БД, можно прямо через Web-интерфейс:

1GB (Web Edition) - Стоимость ежемесячной подписки составляет 9,99 долларов.
10GB (Business Edition) - Издание предназначено для масштабных бизнес приложений и стоит 99,99 долларов в месяц.
Так, как SQL Azure поддерживает T-SQL, то базы можно создать и скриптом:

 
1.--Web Edition Database
2.CREATE DATABASE foo (MAXSIZE = 1GB)
3.--Or
4.--Business Edition Database
5.CREATE DATABASE foo (MAXSIZE = 10GB)

Заявлено ограничение CTP - 1 SQL Azure server и 5 databases, учитывая, что БД master системная база и удалить её естественно нельзя, то на деле мы можем создать 4 пользовательские базы:

Заявлено, что в качестве средства доступа может выступать SSMS и Visual Studio, но рекомендуется sqlcmd:

 
1.C:\>sqlcmd -U <ProvideLogin@Server> -P <ProvidePassword>
2.-S <ProvideServerName> -d master

http://msdn.microsoft.com/en-us/library/ee336280.aspx

Командная строка-это конечно хорошо, но раз поддерживается SSMS, то хотелось бы работать с базами через него, но вот 1ая ошибка, которую я получил:

Причина оказалась более, чем очевидная-это нововведение в октябрьской редакции firewall. По умолчанию доступ закрыт со всех адресов закрыт. Как работать с фаерволом описано на MSDN-http://msdn.microsoft.com/en-us/library/ee621783.aspx.

Но и после конфигурирования фаервола, при подключении к базам через SSMS, получил ошибку:

При этом работать в SSMS через T-SQL можно. Для визульной работы можно использовать SQL Azure Exporer - Add-in к Visual Studio 2010 (http://sqlazureexplorer.codeplex.com/)

А теперь немного о первом впечатлении.
Текущая версия: Microsoft SQL Azure (CTP) - 10.25.9027.0 Oct 8 2009 04:21:09 Copyright (c) 1988-2009 Microsoft Corporation .
Заявлена обширная поддержка T-SQL, но ряд системных объектов отсутствует, при этом появился набор опреаторов, которых нет в стандартных редакциях SQL Server. Например с фаерволом можно работать с помощью скриптов:

 
1.-- Создание новой политики только для IP 0.0.0.2
2.exec sp_set_firewall_rule N'Example setting 1','0.0.0.2','0.0.0.2'
3.  
4.-- Изменение настройки с добавление ещё одно IP 0.0.0.3
5.exec sp_set_firewall_rule N'Example setting 1','0.0.0.2','0.0.0.3'
6.  
7.-- Удаление настройки фаервола
8.exec sp_delete_firewall_rule N'Example setting 1'

А вот просмотреть список установленных политик через T-SQL не получилось, хотя по документации скрипт должен работать:

1.select * from firewall_rules

Msg 208, Level 16, State 1, Line 1
Invalid object name "firewall_rules".
Через SQL Azure Portal список отображается.

Смутил и тот факт, что контекст БД поменять в текущей коннекции нельзя:
Use a new connection to connect to a different Database.

Полный список доступных команд T-SQL можно посмотреть так же на MSDN: Transact-SQL Support (SQL Azure Database) (http://msdn.microsoft.com/en-us/library/ee336250.aspx)

О своих новых наблюдениях и о первых результатах работы с SQL Azure постараюсь написать позже.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=22673