Авторы исходной версии: Аби Айер, Динакар Нети

Сводка

База данных SQL Azure — это предоставляемая Майкрософт служба реляционных баз данных на основе облака. SQL Azure предоставляет функциональность реляционной базы данных в виде программной службы. Решения баз данных на основе облака, такие как SQL Azure, предоставляют целый ряд преимуществ, включая быстрое провизионирование, экономически эффективную масштабируемость, высокий уровень доступности и сокращение расходов на управление. В настоящем документе рассматривается часть вопросов, чаще всего задаваемых нашими клиентами.

Оглавление


Ознакомление перед приобретением

Вопрос. Чем SQL Azure отличается от SQL Server с точки зрения Майкрософт?

Хотя потребности в выполнении рабочих нагрузок приложений могут удовлетворяться и с помощью SQL Server, и с помощью SQL Azure, первый продукт — это классический сервер баз данных с моделью лицензирования программного обеспечения, а второй — это облачная база данных, предоставляемая как служба в глобальных центрах данных Майкрософт с моделями оплаты по фактическому использованию или по плану с согласованными тарифами. Оба предложения обеспечивают гибкость при выборе платформы и бизнес-модели, в наибольшей степени соответствующих конкретным технологическим потребностям.

SQL Server — это сервер баз данных класса предприятия, который предоставляет “вертикально масштабируемое” реляционное хранилище данных и поддерживает широкий спектр типов приложений и сценариев эксплуатации непосредственно на предприятии. SQL Server не предоставляется как служба. Для него не предусмотрена модель оплаты по объему фактического использования ресурсов. Для SQL Server применяются лицензии «на сервер» или «на процессор». Этот продукт рассчитан на обширный класс серверного оборудования. SQL Server эксплуатируется на оборудовании собственного центра данных клиента или в центре данных поставщика услуг размещения.

SQL Azure — это распределенная, “горизонтально масштабируемая” служба баз данных с высоким уровнем доступности, размещаемая компанией Майкрософт в облаке. SQL Azure обеспечивает удобную подготовку и развертывание функций реляционной базы данных в форме службы. Разработчикам и администраторам не приходится заниматься установкой, настройкой, установкой исправлений или управлением каким-либо программным обеспечением. Функции обеспечения высокого уровня доступности, резервного копирования и восстановления, географического распределения и аварийного восстановления встроены в решение.

Кроме различий, связанных с вертикальным и горизонтальным масштабированием, также имеются существенные различия в самой модели эксплуатации продуктов. Так как SQL Azure не требует управления аппаратным обеспечением и операционными системами, он позволяет сосредоточиться на построении конкретных решений и не заботиться о приобретении и установке оборудования, применении исправлений и приобретении лицензий, не заниматься настройкой виртуальных машин, операционных систем и программного обеспечения прикладных платформ. В случае использования выделенного сервера баз данных (будь то обычный сервер, установленный на предприятии, сервер в виртуальной машине или сервер, размещаемый в центре обработки данных независимого поставщика услуг) разработчики и ИТ-специалисты продолжают нести ответственность за установку, настройку, обновление и исправления ОС и программного обеспечения базы данных. Кроме того, пользователи серверов баз данных вынуждены реализовывать собственные решения по обеспечению  высокого уровня доступности, масштабированию и аварийному восстановлению, что увеличивает общую стоимость администрирования.

Продукт SQL Azure разработан и оптимизирован для приложений, требующих значительной возможности масштабирования и высокого уровня доступности при более низких затратах по сравнению с обычными, вертикально масштабируемыми архитектурами. С этой целью SQL Azure предоставляет решение, которое отличается высоким уровнем доступности и горизонтальной масштабируемостью, не требует применения специализированного оборудования и предоставляет функциональность баз данных в форме службы.

В. В чем заключается применяемый в SQL Azure подход к масштабированию? Есть ли ограничения на размер данных, которые могут храниться в SQL Azure?

SQL Azure оптимизирована для приложений, требующих широкого масштабирования и высокого уровня доступности при более низких затратах по сравнению с обычными архитектурами вертикального масштабирования. Таким образом, SQL Azure предоставляет решение, которому свойственны высокий уровень доступности и высокая масштабируемость  и которое не требует применения специализированного оборудования. Чтобы получить максимальные преимущества от реализации концепций в этой платформе, естественно использовать решения с меньшими, горизонтально масштабируемыми секциями по сравнению с классической моделью вертикального масштабирования на единственном сервере.

SQL Azure поддерживает наборы данных размером до нескольких терабайтов. Отдельные базы данных SQL Azure могут иметь размер до 50 ГБ. Наборы данных, большие 50 ГБ, могут секционироваться и распределяться по нескольким базам данных Azure с применением стандартных подходов. Например, независимые разработчики программного обеспечения, работающие по модели «программного обеспечения как услуги» (SaaS), могут легко подготавливать для каждого клиента собственную базу данных, а предприятие розничной торговли может секционировать данные о продажах в базах данных по регионам ведения деятельности.

Важно отметить, что ограничение в 50 ГБ на базу данных включает только сами данные, но не включает дополнительные копии данных, автоматически поддерживаемые для обеспечения высокого уровня доступности, журнал транзакций или системные таблицы.

В. Что в действительности подразумевается под словами “В выпуск Web Edition включено до 5 ГБ на базу данных в месяц” или “В выпуск Business Edition включено до 50 ГБ на базу данных в месяц”?

В SQL Azure можно подготовить несколько баз данных для одного или нескольких приложений. Эти базы данных могут относиться к выпуску Web Edition или Business Edition. Одна база данных Web Edition может поддерживать объем данных до 5 ГБ. Шаги тарификации составляют 1 и 5 ГБ. Одна база данных Business Edition поддерживает объем данных до 50 ГБ. В выпуске Business Edition используются шаги тарификации, кратные 10 ГБ (10, 20, 30, 40, 50 ГБ).

При выставлении счетов учитывается достигнутый за сутки максимальный размер базы данных, округляемый до следующего по величине шага тарификации.

Пример.

Предположим, что используется база данных выпуска Web Edition со значением MAXSIZE=5GB. Если размер базы данных составляет 800 МБ, то суточная оплата за базу данных будет взиматься из расчета ставки за 1 ГБ для выпуска Web Edition. Если на следующие сутки размер базы данных увеличится до 3 ГБ, то оплата за эти сутки будет взиматься исходя из ставки за 5 ГБ для выпуска Web Edition. А если еще днем позже, после удаления части данных, размер базы данных уменьшится до 900 МБ, то оплата за сутки будет снова взиматься по ставке за 1 ГБ.

То же относится к базам данных выпуска Business Edition. Рассмотрим базу данных Business Edition со значением MAXSIZE=50GB. Если общий размер базы данных составляет 8 ГБ, то суточная оплата за базу данных рассчитывается по ставке за 10 ГБ. Если на следующие сутки размер базы данных увеличится до 25 ГБ, то оплата за эти сутки будет рассчитываться по следующему шагу тарификации для выпуска Business Edition, то есть для 30 ГБ, и т. д.

Оплата за сутки рассчитывается как месячная ставка для данного шага тарификации, деленная на число дней в месяце.

В. В чем для меня будут состоять различия при работе с SQL Azure и с локальным поставщиком услуг размещения , использующим SQL Server 2008/SPLA?

Если применяется выделенный сервер базы данных, разработчики и ИТ-специалисты по-прежнему отвечают за установку, настройку, обновление и установку исправлений ОС и программного обеспечения базы данных. Кроме того, пользователи решений с размещением баз данных вынуждены разрабатывать собственные решения по обеспечению высокого уровня доступности, масштабированию и аварийному восстановлению, что увеличивает общую стоимость администрирования.

SQL Azure — это масштабируемая, распределенная служба баз данных с высоким уровнем доступности, размещаемая компанией Майкрософт в облаке. SQL Azure обеспечивает удобное провизионирование и развертывание реляционных баз данных в форме службы. Разработчикам не приходится заниматься установкой, настройкой, внесением исправлений и администрированием какого-либо программного обеспечения. Средства обеспечения высокого уровня доступности, резервного копирования и восстановления, географического распределения и аварийного восстановления встроены в решение.

В. Как цены на SQL Azure отличаются от цен на SQL Server?

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

В. Если я разработаю приложение на платформе SQL Azure, то смогу ли я перенести его на локальный или размещенный у поставщика услуг сервер?

Многие приложения, в которых используется SQL Azure, можно легко перенести на локальный или размещенный SQL Server. Хотя для некоторых приложений может потребоваться изменение архитектуры для работы с SQL Server, в сущности SQL Azure поддерживает ту же основанную на T-SQL реляционную модель с обработкой потока табличных данных, что и в SQL Server, поэтому существующие приложения с применением пользовательских типов данных и данных типа LOB обычно можно перенести с минимальным количеством требуемых изменений в решении.

В. Могу ли я воспользоваться имеющейся лицензией на SQL Server для получения доступа к услугам SQL Azure?

Нет. В настоящее время мы не разрешаем переносить действие лицензии SQL Server на другой продукт.

В. Можно ли рассматривать SQL Azure фактически как очередной выпуск SQL Server, следующий за SQL Server 2008 R2?

Нет. SQL Azure — это облачная база данных, предоставляемая в качестве службы, и рассматривается как отдельный от SQL Server продукт. SQL Azure — это служба с горизонтально масштабируемой платформой, реализующая доступную по запросу реляционную базу данных в качестве услуги. Хотя планы разработки продуктов SQL Azure и SQL Server отличаются, в этих продуктах используются параллельные направления развития кода. Между ними также происходит активный обмен новыми функциями и усовершенствованиями.

В. Означает ли появление этой новой платформы Windows Azure, что клиентам придется перенести все существующие и будущие приложения в облако?

Майкрософт придерживается стратегии «программы и службы» (software-plus-services — S+S), поэтому предоставляет своим клиентам возможность использовать технологию с локальным доступом, облачную технологию или и то и другое. Клиенты выразили сильную заинтересованность в возможности гибкого выбора вариантов развертывания в соответствии с собственными бизнес-потребностями. Майкрософт будет продолжать вкладывать значительные средства в усовершенствование и выпуск новых версий Windows Server, Windows Azure и SQL Server, SQL Azure и System Center, чтобы предоставить клиентам возможность воспользоваться преимуществами технологий облачных вычислений, независимо от того, будут ли приложения клиентов выполняться в собственных центрах обработки данных, в центрах данных партнеров Майкрософт или в общедоступной облачной среде Майкрософт.

В. В чем заключается ценность службы синхронизации данных SQL Azure?

Служба синхронизации данных SQL Azure позволяет управлять перемещением данных между базами данных SQL Azure и SQL Server посредством двунаправленной синхронизации данных. Используя синхронизацию данных SQL Azure, организации могут задействовать возможности SQL Azure и платформы Microsoft Sync Framework для построения концентраторов бизнес-данных в облаке, что позволяет легко обеспечить совместный доступ к данным для многих центров данных SQL Azure, мобильных пользователей, бизнес-партнеров, удаленных офисов и корпоративных источников данных, используя в то же время все преимущества новых служб в облаке. Это сочетание возможностей создает своего рода мост, который позволяет обеспечить совместную работу эксплуатируемых локально и удаленно приложений. На CTP-версию службы синхронизации данных SQL Azure можно подписаться на странице CTP-версии SQL Azure.

Служба синхронизации данных SQL Azure реализует следующие задачи.

  • Распространение существующих баз данных SQL Azure на один или несколько центров данных, развернутых во всем мире, для обеспечения доступа к данным в различных географических точках.
  • Связывание существующих локальных данных SQL Server со службой SQL Azure, что позволяет создавать в среде Windows Azure новые приложения, не отказываясь от существующих приложений, эксплуатируемых локально.
  • Перевод приложений на основе Windows Azure и SQL Azure в автономный режим для их эксплуатации в режиме, аналогичном режиму кэширования в Outlook.
  • Предоставление доступа к локальным данным через облако удаленным офисам, магазинам розничной торговли и мобильным работникам.

В. Когда будет выпущена поддерживаемая версия службы синхронизации данных SQL Azure?

В настоящее время служба синхронизации данных SQL Azure предоставляется как предварительная CTP-версия. В ходе эксплуатации этой CTP-версии мы будем принимать отзывы от клиентов, чтобы определить, что еще предстоит сделать для обеспечения максимальной полезности данного решения. Поэтому дата выпуска зависит от того, насколько сложными в реализации окажутся запрашиваемые клиентами изменения.

В. Должны ли клиенты платить за использование службы синхронизации данных?

В настоящее время за работу со службой синхронизации данных плата не взимается, однако плата за перемещение данных клиента в базу данных SQL Azure и обратно все же начисляется. Дополнительные сведения о расценках на эту услугу см. на странице http://www.microsoft.com/windowsazure/pricing/.

Вернуться в начало

Возможности подключения

В. Как подключиться к SQL Azure?

Версия SQL Server Management Studio (SSMS), выпущенная в составе SQL Server 2008 R2, предоставляет полную поддержку подключений к SQL Azure. Если используется одна из предыдущих версий среды SSMS, то при первом запуске Management Studio и вводе имени сервера и учетных данных пользователя в открывшемся окне «Соединение» отображается следующее сообщение об ошибке.

  

Чтобы устранить эту ошибку, выполните следующие действия.

1. Нажмите кнопку «ОК», чтобы закрыть сообщение об ошибке подключения к серверу, затем выйдите из окна «Соединение» с помощью кнопки «Отмена».

  

 

2. Щелкните значок “Создать запрос”.

  

3. В открывшемся диалоговом окне «Соединение с сервером» введите учетные данные для своего соединения. 

Примечание. Имя входа должно иметь формат «имя_пользователя@имя_сервера»

  

Если необходимо подключиться к определенной базе данных, нажмите кнопку “Параметры” и введите имя базы данных в поле “Соединение с базой данных”.

Примечание. Команда USE <Database> не поддерживается. Если после входа в систему понадобится подключиться к другой базе данных, щелкните правой кнопкой мыши и выберите команду “Изменить соединение”.

В. Как проверить текущее состояние работоспособности платформы Windows Azure?

Можно открыть панель мониторинга для региона, в котором размещена база данных SQL Azure, на странице http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx. Также можно подписаться на соответствующие RSS-каналы.

 

В. Не получается подключиться к SQL Azure. Как устранить эту проблему?

Сведения об устранении обычных проблем, связанных с подключением, см. в разделе Руководство по устранению неполадок связи SQL Azure.

В. Где найти образцы строк подключения для SQL Azure?

При подготовке сервера к работе портал SQL Azure предоставляет строки подключения, которые могут использоваться в конкретном приложении. Общий формат строк подключения для ADO.NET и ODBC приведен ниже.

ADO.NET

Server=tcp:<имя_сервера_sqlazure>.database.windows.net;Database=<имя_базы_данных>; 
User ID=пользователь@<имя_сервера_sqlazure>;Password=пароль;
Trusted_Connection=False;

ODBC

Driver={SQL Server Native Client 10.0};Server=tcp:<имя_сервера_sqlazure>
.database.windows.net;Database=<имя_базы_данных>;
Uid=user@<имя_сервера_sqlazure>;Pwd=пароль;Encrypt=yes;

В. Могу ли я создавать резервные копии своих данных, которые хранятся в SQL Azure? Как выполнить восстановление после повреждения или потери данных?

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

Вопрос. Доступны ли какие-либо практикумы или демонстрационные материалы по перемещению данных между локальным сервером SQL Server и SQL Azure?

В наборе обучения Windows Azure содержатся образцы, демонстрационные материалы и презентации по различным аспектам SQL Azure, в том числе и по переносу баз данных.

Вопрос. Как настроить параметры брандмауэра SQL Azure?

Брандмауэр SQL Azure предотвращает доступ к серверу SQL Azure со всех IP-адресов, кроме тех, которым такой доступ был явно разрешен. IP-адреса компьютеров, которым необходимо разрешить доступ к сервер��, необходимо указать в параметрах брандмауэра, чтобы они могли подключаться к серверу SQL Azure. Адреса добавляются на вкладке Параметры брандмауэра страницы Администрирование сервера на портале SQL Azure. На вкладке также имеется флажок “Разрешить службам Microsoft подключаться к этому серверу”. Установка этого флажка разрешает доступ к базам данных от приложений клиента, которые размещены в Windows Azure.

Дополнительные сведения о настройке брандмауэра см. в разделе  Как настроить брандмауэр SQL Azure.

Вопрос. Как предоставить веб-роли доступ к SQL Azure?

Установите флажок “Разрешить службам Microsoft подключаться к этому серверу” на вкладке Параметры брандмауэра страницы Администрирование сервера на портале.

  

Дополнительные сведения о настройке брандмауэра см. в разделе  Как настроить брандмауэр SQL Azure.

Вопрос. Защищены ли мои данные при передаче по сети?

Сервер SQL Azure принудительно включает шифрование SSL для всех подключений от клиентов. Однако, если клиентское приложение не проверяет сертификаты после соединения, соединение может быть уязвимо к атакам типа «злоумышленник в середине».

Дополнительные сведения о шифровании соединений см. в разделе Безопасность: рекомендации и ограничения.

Вернуться в начало

Поддерживаемые и неподдерживаемые функции

Вопрос. Поддерживаются ли в SQL Azure связанные серверы? Можно ли включить связанный сервер между локальным сервером SQL Server и серверами SQL Azure или между двумя экземплярами серверов SQL Azure?

Нет, в настоящее время связанные серверы в SQL Azure не поддерживаются. Поэтому включить связанный сервер между локальным решением и SQL Azure либо внутри облака будет невозможно.

Вопрос. Какой уровень изоляции по умолчанию поддерживается в SQL Azure?

Изоляция моментальных снимков READ COMMITTED.

Вопрос. Поддерживается ли в SQL Azure отслеживание изменений?

В настоящее время отслеживание изменений в SQL Azure не поддерживается.

Вопрос. Поддерживаются ли в SQL Azure пространственные типы данных?

Поддержка пространственных типов данных была добавлена в выпуске SU3 (июнь 2010 года).

Вопрос. Поддерживается ли в SQL Azure массовое копирование?

Да, программа массового копирования (BCP) и интерфейс SqlBulkCopyAPI поддерживаются в SQL Azure. Команда TSQL BULK INSERT не поддерживается.

Вопрос. Если включить инструкцию DROP DATABASE в цикл IF...Else, то выдается сообщение об ошибке, в котором говорится, что инструкция DROP DATABASE не поддерживается, хотя соединение установлено с базой данных Master. Почему?

Это ограничение SQL Azure. Инструкция LOGIN языка описания данных DDL должна быть единственной в пакете, при этом ее нельзя помещать внутрь цикла инструкции IF… ELSE. См. раздел Рекомендации и ограничения.

Использование параметризованных команд при выполнении инструкций CREATE/ALTER/DROP LOGIN и CREATE/DROP DATABASE в приложениях ADO.NET не разрешается. Каждая из этих инструкций должна быть единственной инструкцией в пакете SQL.

Вопрос. Поддерживается ли SQL Agent в SQL Azure?

В настоящее время SQL Agent в SQL Azure не поддерживается.

Вопрос. Поддерживается ли приложение SQL Profiler в SQL Azure?

В настоящее время приложение SQL Profiler не поддерживается в SQL Azure. Однако поддерживаются некоторые динамические административные представления, предназначенные для диагностики связанных с производительностью проблем. Подробный список поддерживаемых динамических административных представлений приведен по адресу http://msdn.microsoft.com/ru-ru/library/ee336238.aspx#dmv

Вопрос. Поддерживается ли в SQL Azure компонент Service Broker?

В настоящее время компонент Service Broker не поддерживается в SQL Azure.

Вопрос. Поддерживается ли в SQL Azure репликация? Можно ли реплицировать мои данные из локального экземпляра SQL в SQL Azure?

В настоящее время репликация в SQL Azure не поддерживается. Имеются несколько вариантов решений, которые описаны далее.

  • Для синхронизации данных между локальным экземпляром SQL Server и SQL Azure, а также между двумя или более серверами SQL Azure можно использовать SQL Azure Data Sync.
  • Также для перемещения данных между локальным экземпляром SQL и SQL Azure можно использовать службы SQL Server Integration Services (SSIS), SQL Server Management Studio (SSMS) или программу массового копирования (BCP).
  • Мастер миграции SQL Azure также позволяет перемещать данные между локальным экземпляром SQL Server и SQL Azure или между двумя экземплярами SQL Azure.

Вопрос. Поддерживается ли Entity Framework в SQL Azure?

Да. Entity Framework поддерживается в SQL Azure. Дополнительные сведения см. в разделе Как подключиться к SQL Azure с помощью платформы ADO.NET Entity Framework.

Вопрос. Поддерживаются ли в облачном решении службы Reporting Services, Analysis Services или SSIS?

О выходе SQL Azure Reporting было объявлено на конференции PDC 2010. Компонент будет выпущен в виде CTP-версии. Дополнительные сведения см. в разделе Общие сведения о SQL Azure Reporting. Для участия в программе CTP необходимо зарегистрироваться на странице Программа технической апробации сообществом (CTP) SQL Azure.

SQL 2008 R2 (службы Reporting Services, Analysis Services и SSIS) также поддерживается; этот выпуск оптимизирован для SQL Azure, он может использовать SQL Azure в качестве источника данных для локальных проектов бизнес-аналитики.

Вопрос. Поддерживает ли SQL Azure механизм автоматического секционирования, чтобы можно было легко секционировать данные по нескольким базам данных?

В настоящее время автоматическое секционирование баз данных SQL Azure не поддерживается. Пользователи должны реализовать секционирование данных в логике приложения. Дополнительные сведения см. в разделе Сегментирование в SQL Azure.
Выход SQL Azure Federation  был анонсирован, но пока этот компонент еще не доступен. Этот компонент будет обеспечивать простое повторное секционирование и перераспределение данных с надежным механизмом маршрутизации соединений.

Вопрос. Доступен ли в SQL Azure журнал ошибок SQL Server?

Нет, в настоящее время журнал ошибок SQL Server недоступен в SQL Azure.

Вопрос. Поддерживается ли IPV6?

Нет, в настоящее время IPV6 не поддерживается. Поддержка IPV6 будет реализована в случае роста потребности в этом протоколе.

Вопрос. Поддерживается ли подключение к SQL Azure из Excel?

Версия Excel из пакета Office 2010 может использовать SQL Azure в качестве источника данных. Дополнительные сведения см. в разделе Подключение Microsoft Excel к базе данных SQL Azure

Вопрос. Поддерживается ли в SQL Azure драйвер JDBC?

Да, однако требуется установить специальное обновление для драйвера JDBC 3.0 для SQL Server. Дополнительные сведения см. по адресу http://support.microsoft.com/kb/2504052 .

Вопрос. Поддержи��аются ли в SQL Azure какие-либо поставщики состояния сеанса?

Поставщики состояния сеанса в SQL Azure не поддерживаются. Дополнительные сведения см. в разделе Обновленные скрипты ASP.NET для использования с Microsoft SQL Azure.

Вопрос. У меня на одном сервере расположены две базы данных. Поддерживаются ли соединения между столбцами разных баз данных на одном сервере?

Соединения таблиц между разными базами данных не поддерживаются. Сервер SQL Azure представляет собой логическое группирование баз данных. Базы данных на одном и том же сервере распределяются по различным узлам среды. Чтобы реализовать ту же функциональность, можно создать развертываемый запрос в логике приложения.

Вопрос. Поддерживает ли SQL Azure функцию аудита?

Функция аудита не включена в текущую версию SQL Azure.

Вопрос. Поскольку столбец RowGUID не поддерживается в SQL Azure, какую альтернативу рекомендуется использовать клиентам?

В качестве альтернативы рекомендуется использовать уникальный идентификатор в качестве типа столбца, а затем во время вставки формировать идентификаторы GUID с помощью функции NEWID().

CREATE TABLE MyTest ( MyID UNIQUEIDENTIFIER DEFAULT NEWID() PRIMARY KEY, 
Name VARCHAR(10)) INSERT INTO MyTest (имя) VALUES ('string1')
INSERT INTO MyTest VALUES (newid(), 'string2')

 

Вопрос. Какой часовой пояс используется на серверах SQL Azure?

Независимо от местоположения выбранного центра обработки данных, сервер SQL Azure использует время по Гринвичу. Текущая версия SQL Azure не поддерживает изменение часового пояса.

Вопрос. Ограничено ли число подключений к базе данных или к серверу SQL Azure?

Количество соединений, которые можно установить с базой данных или сервером, неограниченно. Однако рекомендуется использовать организацию пулов соединений, чтобы избежать дополнительных начальных издержек, связанных с установлением соединения (уточняющий запрос, квитирование SSL, процесс входа и т. д.), и использовать соединение непосредственно.

Вопрос. Какова политика паролей для учетной записи администратора службы в SQL Azure?

Длина пароля должна быть не менее 8 символов, он должен содержать хотя бы одну цифру, одну букву и один особый символ. Пароль не может содержать последовательность из трех и более символов, которая встречается в имени пользователя.

Вопрос. Можно ли создать несколько учетных записей администраторов для SQL Azure так же, как и в Windows Azure?

Текущая версия SQL Azure поддерживает только одну учетную запись администратора учетных записей и одну учетную запись администратора служб. Функция совместного администрирования в SQL Azure не поддерживается, поэтому для совместного администратора на портале SQL Azure будет отображаться пустой список подписок. Поддержка функции совместного администрирования будет добавлена в ближайшем будущем.

Вопрос. Можно ли подключиться к SQL Azure, не открывая порт 1433?

Для подключения и управления SQL Azure без открытия порта 1433 можно использовать  Диспетчер баз данных для SQL Azure. Он предназначен специально для веб-разработчиков и других специалистов, которым требуется удобное решение для быстрой разработки, развертывания и управления в облаке приложениями, управляемыми данными.

Вернуться в начало

Миграция баз данных, резервное копирование и восстановление

Вопрос. Какие поддерживаются методы перемещения данных между локальным экземпляром SQL Server и SQL Azure?

Существует несколько способов переноса данных между локальным экземпляром SQL Server и SQL Azure.

  • Для улучшения производительности можно использовать службы SQL Server Integration Services (SSIS) в сочетании с диспетчерами соединений ADO.NET с включенным параллелизмом. Также можно создавать скрипты обработки данных в зависимости от их размера и потребностей.
  • Неподдерживаемое средство создания скриптов, мастер миграции SQL Azure, разработанный сообществом, также можно загрузить с Codeplex.
  • Программа массового копирования (BCP). С помощью BCP данные можно переносить из локального экземпляра SQL Server в SQL Azure и обратно.
  • Также можно использовать Мастер формирования скриптов совместно со средой SQL Server Management Studio 2008 R2 для создания скриптов базы данных.
  • В SQL Server 2008 R2 и более поздних версиях мастер импорта и экспорта поддерживает базы данных SQL Azure с помощью поставщика .NET для SQL Server. Дополнительные сведения см. в разделе Экспорт данных из SQL Azure. Мастер импорта и экспорта.
  • Также ознакомьтесь с демороликом по переносу данных из локального экземпляра в SQL Azure, который входит в Набор обучения Windows Azure.

Вопрос. Как с помощью среды SQL Server Management Studio создать совместимый с SQL Azure скрипт?

Версия среды SQL Server Management Studio (SSMS), входящая в SQL Server 2008 R2, поддерживает SQL Azure. Выпуск Express служб SSMS можно загрузить на странице Microsoft SQL Server 2008 R2 RTM - Management Studio Express. Чтобы создать совместимый с SQL Azure скрипт с помощью среды SSMS, выполните следующие действия.

1. Выберите базу данных в среде SSMS, щелкните ее правой кнопкой мыши, выберите пункт меню Задачи и выберите команду Формирование скриптов.

 

2. В разделе Задание параметров скриптов нажмите кнопку Дополнительно и задайте для параметра Скрипт для типа СУБД значение База данных SQL Azure


 3. В разделе “Задание параметров скриптов” нажмите кнопку «Дополнительно» и задайте для параметра “Скрипт для типа СУБД” значение «База данных SQL Azure»

Вопрос. Как перенести базу данных MySQL в SQL Azure?

Выполнить перенос базы данных MySQL в SQL Azure поможет Набор средств SQL Server Migration Assistant 2008 для MySQL v1.0. Это средство значительно экономит затраты времени и средств, а также сокращает риски при миграции от MySQL до SQL Server 2008 и SQL Azure. SSMA 2008 для MySQL v1.0 CTP1 выполняет оценку задач по миграции, а также автоматизирует процесс миграции схем и данных.

Вопрос. Имеет ли SQL Azure обратную совместимость? Можно ли перенести базы данных SQL Server 2000 или SQL Server 2005 в SQL Azure?

SQL Azure не имеет режима обратной совместимости. SQL Azure создан на основе кода SQL Server 2008. Устаревшие функции SQL Server 2000 и SQL Server 2005 не будут работать в SQL Azure. С помощью помощника по обновлению SQL Server 2008 можно проверить базу данных перед началом миграции в SQL Azure. С помощью мастера миграции SQL Azure можно проверить совместимость между SQL Server 2008 и SQL Azure. Это средство также может проанализировать трассировки приложения SQL Profiler на предмет совместимости инструкций T-SQL, формируемых приложением.

Вопрос. Как обстоит дело с восстановлением резервных копий данных, хранящихся в SQL Azure? Как выполнить восстановление после повреждения или потери данных?

В большинстве случаев лучшим способом предотвращения логической потери или повреждения данных (например, при случайном удалении данных пользовательским приложением) является создание резервных копий. Кроме того, служба регулярно создает резервные копии и выполняет проверки согласованности для восстановления после сбоев оборудования, однако эта возможность доступна только для внутреннего использования службой. Пользователи могут в любой момент времени выполнить копирование своих данных в базу данных локального сервера SQL Server с помощью программы массового копирования (BCP) или служб SQL Server Integration Services (SSIS).

Вопрос. Существуют ли какие-либо практикумы или демонстрационные материалы по переносу данных между локальным сервером SQL Server и SQL Azure?

В наборе обучения Windows Azure представлены образцы, демонстрационные материалы и презентации по различным аспектам SQL Azure, включая миграцию баз данных.

Вернуться в начало

Размер базы данных

Вопрос. Есть ли ограничения на число баз данных, которые могут быть созданы в SQL Azure?

Существует запрограммированное ограничение в 150 баз данных на сервер. Пользователи могут снять это ограничение, позвонив в справочную службу Azure и пройдя процесс проверки кредитоспособности.

Вопрос. Есть ли ограничения на максимальный размер баз данных в выпусках SQL Azure?

Существуют два выпуска – Web Edition и Business Edition. В настоящее время максимально допустимые размеры баз данных для выпусков Web Edition и Business Edition составляют 5 и 50 Гб соответственно. В будущем это ограничение будет увеличено. Читайте новости в блоге рабочей группы SQL Azure

Вопрос. Как поведет себя система при достижении базой данных максимального размера?

Когда будет достигнут максимальный для данного выпуска размер данных, пользователю будет выдана ошибка с кодом 40544. Ниже описано ожидаемое поведение.

  • Операции вставки, обновления, создания и изменения будут приостановлены; все попытки добавления данных в базу данных будут приводить к завершению сеанса
  • Операции считывания будут продолжать работать
  • Операции удаления и усечения будут продолжать работать, чтобы оставалась возможность сокращения размера базы данных за счет удаления таблиц, индексов или данных или усечения таблиц
  • Может потребоваться задержка примерно в 15 минут, необходимая для освобождения данных, прежде чем можно будет вставлять новые данные.

Дополнительные сведения см. в разделе Рекомендации и ограничения.

Вопрос. Как можно оценить реальный размер базы данных, чтобы определить, сколько осталось места, и запланировать дальнейшие действия? Есть ли программный способ определить размер базы данных?

Размер базы данных вычисляется путем подсчета числа страниц в базе данных, содержащих таблицы, индексы и объекты. Аналогичным образом подсчитывается размер стандартной базы данных в SQL Server – не места, занимаемого экземпляром, а только места, занимаемого каждой из баз данных. Некоторые элементы не влияют на размер, например следующие.

  • Журналы не учитываются при вычислении размера.
  • База данных master не учитывается при вычислении размера.
  • Все остальные системные базы данных и серверные каталоги исключаются из вычисления.
  • Все реплики пользовательских баз данных исключаются из вычислений (считается только одна из трех реплик пользовательской базы данных).

В текущих выпусках не существует программного способа найти эти данные. Поддержка этой возможности будет добавлена в ближайшем будущем. Реальные показатели использования можно найти на портале Microsoft SQL Azure.

  

Приблизительный размер используемой базы данных можно также оценить, выполнив запрос к динамическому административному представлению:

SELECT SUM(reservered_page_count)*8.0/1024 as ‘SizeInMB’ FROM 
sys.dm_db_partition_stats

Вопрос. Учитываются ли журналы при вычислении размера баз данных?

Нет, в размер базы данных входят только данные, индексы и объекты. Дополнительные сведения см. в разделе Учетные записи и выставление счетов в SQL Azure.

Вернуться в начало

Выставление счетов и измерение показателей

Вопрос. Расскажите подробнее о пропорциональной модели выставления счетов.

Модель выставления счетов для SQL Azure очень проста. Она основывается на общем числе баз данных и их выпусках, а также на стоимости пропускной способности за время использования. При создании базы данных (любого типа) будет запущен счетчик.  При удалении базы данных счетчик будет остановлен.  Если база данных существует в течение полного месяца, то будет выставлен счет в 9,99 долл. США для базы данных Web Edition и 99,99 долл. США для базы данных Enterprise Edition. Если базы данных существовали всего несколько дней, то счет выставляется за каждый “день существования базы данных”. Для базы данных выпуска Web Edition он составляет примерно 0,30 долл. США.

Сведения о пропускной способности доступны через динамическое административное представление sys.bandwidth_usage, а сведения об использовании баз данных — через динамическое административное представление sys.database_usage. Дополнительные сведения о модели ценообразования см. в разделе Ценообразование SQL Azure.

Вопрос. Где можно найти показатели для моей службы SQL Azure?

Некоторые показатели хранятся в базе данных master. Были добавлены новые представления, например sys.database_usage и sys.bandwidth_usage, которые показывают количество, тип и размер баз данных, а также использование пропускной способности для каждой из них.

Вопрос. Берется ли оплата за базу данных master?

Нет, за базу данных master оплата не берется.

Вернуться в начало

Управление подписками

Вопрос. Будут ли базы данных SQL Azure немедленно удалены после отмены подписки на Azure? Каким образом в SQL Azure обрабатываются данные, помеченные для удаления?

При отмене подписки на Azure отменяется подписка на службы Azure. В частности, для SQL Azure состояние подписки изменится с Active на Disabled. Базы данных SQL Azure не будут удалены немедленно. Существует 90-дневный срок хранения, в течение которого можно повторно включить подписку для Azure или экспортировать базы данных SQL Azure. По истечении 90-дневного периода подписка переходит в состояние De-provisioned и базы данных SQL Azure удаляются навсегда.

Вопрос. Каковы политики хранения данных и конфиденциальности после отмены подписки?

Базы данных SQL Azure удаляются по истечении 90 дней после отмены подписки.

Вопрос. Можно ли отменить только SQL Azure или одну из служб Azure, а не все службы?

Отменить можно все три доступные службы Azure: Windows Azure, SQL Azure и AppFabric.  Однако, поскольку службы оплачиваются “по мере использования”, можно оставить подписку, но не платить за SQL Azure, просто удалив неиспользуемые базы данных и серверы.

Вопрос. Как выполнить миграцию базы данных с одной подписки на другую?

Это можно сделать с помощью инструкции CREATE DATABASE .... AS COPY OF ... , с помощью мастера формирования скриптов в среде SQL Server Management Studio (SSMS) версии SQL Sever 2008R2, с помощью служб SQL Server Integration Services или с помощью  программы массового копирования (BCP). Поскольку сервер SQL Azure является логическим сервером и его имя создается автоматически, будет необходимо обновить строки подключения для клиента. Если подписки размещены в той же подобласти, то можно для переноса сервера и базы данных с одной подписки на другую обратиться в справочную службу. Текущая версия SQL Azure поддерживает только один сервер на подписку.

Вопрос. Как обменять подписки или переместить подписку на другую учетную запись Live ID?

Можно выполнить миграцию баз данных с одной подписки на другую с помощью мастера формирования скриптов в среде SQL Server Management Studio (SSMS) версии SQL Sever 2008 R2, с помощью службы SQL Server Integration Services или программы массового копирования (BCP). Необходимо вручную настроить брандмауэр SQL Azure на новом сервере. Поскольку сервер SQL Azure является логическим сервером и его имя создается автоматически, будет необходимо обновить строки подключения для клиента. В данный момент мы работаем над созданием средства, которое поможет перенести подписки с одной учетной записи на другую. Оно будет доступно в ближайшее время.

Вопрос. Как можно создавать дополнительные серверы SQL Azure?

Сервер SQL Azure — это всего лишь логическое группирование баз данных. SQL Azure предоставляет один сервер на подписку. Однако можно создать несколько подписок с общей учетной записью платформы Azure. Таким образом, можно создать необходимое количество серверов.

Вернуться в начало

Обновления службы

Вопрос. У всех ли пользователей устанавливается последняя версия при появлении обновлений службы?

Да, обновления службы распространяются на всех пользователей, поэтому все они будут иметь самую последнюю версию.

Вопрос. Какова процедура распространения исправлений и обновлений служб?

Исправления и обновления служб распространяются на все компьютеры в среде SQL Azure. Мы проводим множество проверок, чтобы удостовериться в обратной совместимости обновлений.

Вернуться в начало

Прочее

Вопрос. При каких условиях может регулироваться рабочая нагрузка?

Условия регулирования можно разделить на следующие группы:

  • После достижения предельного размера базы данных – все операции обновления, вставки и создания будут приостановлены до тех пор, пока размер базы данных не будет уменьшен.
  • Краткосрочное временное состояние высокой нагрузки — эта ошибка указывает на то, что клиент должен повторить операцию.

Дополнительные сведения о предотвращении потери соединения см. в статье Управление соединениями в SQL Azure на веб-узле TechNet Wiki. В этой статье описаны причины, по которым соединение может быть потеряно, а также приведены рекомендации по управлению жизненным циклом соединения в SQL Azure. Можно также прочитать раздел Устранение неполадок SQL Azure  в библиотеке MSDN. 

Вопрос. Как будет развиваться SQL Azure для поддержки более крупных наборов данных?

SQL Azure предоставляет пользователям платформу с неограниченными возможностями масштабирования. Они могут секционировать данные на уровне приложения. В будущем допустимый размер баз данных будет увеличен. Поддержка секционирования в платформе будет добавлена в будущем.

Вопрос. Где можно найти примеры использования SQL Azure?

Примеры использования SQL Azure есть в разделе Примеры использования Windows Azure.

Вернуться в начало