Отчеты по масштабируемым облачным базам данных (предварительная версия)

Область применения:База данных SQL Azure

С помощью эластичных запросовможно создавать отчеты из нескольких баз данных из одной точки подключения. Базы данных должны быть горизонтально секционированными (сегментированными).

Если база данных уже существует, см. статью Перенос существующих баз данных для масштабирования.

Чтобы узнать, какие объекты SQL требуются для выполнения запросов, см. статью Отчеты по масштабируемым облачным базам данных (предварительная версия).

Предварительные требования

Загрузите и запустите пример Приступая к работе с инструментами эластичной базы данных.

Создание диспетчера сопоставления сегментов с помощью примера приложения

Здесь мы создадим диспетчер сопоставления сегментов вместе с несколькими сегментами, а затем выполним вставку данных в сегменты. Если вы уже знакомы с настройкой сегментов с помощью сегментированных данных, описанные ниже действия можно пропустить и перейти к следующему разделу.

  1. Выполните сборку и запустите пример приложения " Приступая к работе со средствами эластичной базы данных ", выполнив действия, описанные в разделе Загрузка и запуск примера приложения. После завершения всех шагов вы увидите следующую командную строку:

    command prompt

  2. В окне команд введите "1" и нажмите клавишу ВВОД. Это позволит создать диспетчер сопоставления сегментов и добавить два сегмента на сервер. Затем введите "3" и нажмите клавишу ВВОД. Повторите это действие четыре раза. Это позволит вставить строки демонстрационных данных в свои сегменты.

  3. На портале Azure на сервере должны появиться три новые базы данных.

    Visual Studio confirmation

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

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

Создание запросов к эластичной базе данных

  1. Откройте портал Azure и войдите в систему.

  2. Создайте новую базу данных Azure SQL на том же сервере, где находятся ваши сегменты. Назначьте базе данных имя ElasticDBQuery.

    Azure portal and pricing tier

    Примечание.

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

Создание объектов базы данных

Главный ключ и учетные данные для конкретной базы данных

Они используются для подключения к диспетчеру сопоставления сегментов и сегментам:

  1. Откройте SQL Server Management Studio или SQL Server Data Tools в Visual Studio.

  2. Подключитесь к базе данных ElasticDBQuery и выполните следующие команды T-SQL:

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master_key_password>';
    
    CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred
    WITH IDENTITY = '<username>',
    SECRET = '<password>';
    

    Имя пользователя и пароль должны быть теми же, которые использовались на шаге 3 раздела Загрузка и запуск примера приложения в статье Приступая к работе с инструментами эластичной базы данных.

Внешние источники данных

Для создания внешнего источника данных выполните следующую команду в базе данных ElasticDBQuery.

CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc WITH
    (TYPE = SHARD_MAP_MANAGER,
    LOCATION = '<server_name>.database.windows.net',
    DATABASE_NAME = 'ElasticScaleStarterKit_ShardMapManagerDb',
    CREDENTIAL = ElasticDBQueryCred,
    SHARD_MAP_NAME = 'CustomerIDShardMap'
) ;

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

Внешние таблицы

Создайте внешнюю таблицу, которая соответствует таблице Customers на сегментах, путем выполнения следующей команды в базе данных ElasticDBQuer:

CREATE EXTERNAL TABLE [dbo].[Customers]
( [CustomerId] [int] NOT NULL,
    [Name] [nvarchar](256) NOT NULL,
    [RegionId] [int] NOT NULL)
WITH
( DATA_SOURCE = MyElasticDBQueryDataSrc,
    DISTRIBUTION = SHARDED([CustomerId])
) ;

Выполнение запроса T-SQL к примеру эластичной базы данных

После определения источника внешних данных и внешних таблиц теперь можно использовать полный T-SQL для внешних таблиц.

Выполните следующий запрос в базе данных ElasticDBQuery:

select count(CustomerId) from [dbo].[Customers]

Следует отметить, что запрос объединяет результаты из всех сегментов и дает следующий результат:

Output details

Импорт в Excel результатов запроса к эластичной базе данных

Результаты запроса можно импортировать в файл Excel.

  1. Запустите Excel 2013.

  2. Перейдите на ленту Данные .

  3. Щелкните Из других источников, а затем — Из SQL Server.

    Excel import from other sources

  4. В мастере подключения к данным введите имя сервера и учетные данные для входа. Затем нажмите кнопку Далее.

  5. В диалоговом окне Выберите базу данных, содержащую нужные сведения выберите базу данных ElasticDBQuery.

  6. Выберите таблицу Клиенты в представлении списка и нажмите кнопку Далее. Нажмите кнопку Готово.

  7. В форме Импорт данных в разделе Выберите, как следует просматривать эти данные в книге выберите Таблица и нажмите кнопку ОК.

Все строки из таблицы Клиенты, хранящиеся в различных сегментах, попадают на лист Excel.

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

Стоимость

За использование функции запросов к эластичной базе данных дополнительная плата отсутствует.

Сведения о ценах см. на странице с ценами на базу данных SQL.

Дальнейшие действия