Partilhar via


Relatório em bancos de dados de nuvem distribuídos (versão de teste)

Aplica-se a:Banco de Dados SQL do Azure

Você pode criar relatórios de vários bancos de dados a partir de um único ponto de conexão usando uma consulta elástica. Os bancos de dados devem ser particionados horizontalmente (também conhecidos como "fragmentados").

Se tiver um banco de dados existente, consulte Migrar bancos de dados existentes para expansão horizontal.

Para entender os objetos SQL necessários para realizar consultas, consulte Relatórios em bancos de dados na nuvem escalados (pré-visualização).

Pré-requisitos

Baixe e execute o Introdução às Ferramentas de Banco de Dados Elástico.

Criar um gestor de mapa de fragmentos usando o aplicativo de exemplo

Aqui você criará um gerenciador de mapas de estilhaços junto com vários fragmentos, seguido pela inserção de dados nos fragmentos. Caso já tenha partições configuradas com dados particionados, pode ignorar as etapas a seguir e seguir para a próxima seção.

  1. Crie e execute o aplicativo de exemplo Introdução às ferramentas do Elastic Database seguindo as etapas na seção do artigo Baixar e executar o aplicativo de exemplo. Depois de concluir todas as etapas, você verá o seguinte prompt de comando:

    Captura de tela do prompt de comando do kit inicial do Elastic Database Tools.

  2. Na janela de comando, digite 1 e pressione Enter. Isso cria o gestor de mapa de fragmentos e adiciona dois shards ao servidor. Em seguida, digite 3 e pressione Enter, repita a ação quatro vezes. Isso insere linhas de dados de exemplo nos seus fragmentos.

  3. O portal do Azure deve mostrar três novos bancos de dados em seu servidor:

    Captura de tela da confirmação do Visual Studio criando três bancos de dados.

    Neste ponto, as consultas entre bancos de dados são suportadas por meio das bibliotecas de cliente do Elastic Database. Por exemplo, use a opção 4 na janela de comando. Os resultados de uma consulta de múltiplos fragmentos são sempre um UNION ALL dos resultados de todos os fragmentos.

    Na próxima seção, criamos um endpoint de banco de dados de exemplo que suporta consultas mais detalhadas dos dados entre fragmentos.

Criar um banco de dados de consulta elástico

  1. Abra o portal do Azure e inicie sessão.

  2. Crie uma nova base de dados no Azure SQL Database no mesmo servidor onde está configurado o seu fragmento. Nomeie o banco de dados ElasticDBQuery.

    Você pode usar um banco de dados existente. Se você puder fazer isso, não deve ser um dos fragmentos em que você gostaria de executar suas consultas. Esse banco de dados é usado para criar os objetos de metadados para uma consulta de banco de dados elástico.

Criar objetos de banco de dados

Chave mestra e credenciais com escopo de banco de dados

Estes são usados para se conectar ao gerenciador de mapas de estilhaços e aos fragmentos:

  1. Abra o SQL Server Management Studio ou o SQL Server Data Tools no Visual Studio.

  2. Conecte-se ao ElasticDBQuery banco de dados e execute os seguintes comandos T-SQL:

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

    Tanto "nome de usuário" quanto "senha" devem ser as informações de login que você criou nas etapas anteriores.

Fontes de dados externas

Para criar uma fonte de dados externa, execute o ElasticDBQuery seguinte comando no banco de dados:

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 é o nome do mapa de fragmentos, se tiver criado o mapa de fragmentos e o gestor de mapas de fragmentos usando o exemplo das ferramentas de base de dados elástica. No entanto, se utilizou a sua configuração personalizada para este exemplo, então deverá ser o nome do mapa de fragmentos que escolheu na sua aplicação.

Tabelas externas

Crie uma tabela externa que corresponda à tabela Customers nos fragmentos executando o seguinte comando no ElasticDBQuery banco de dados:

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])
) ;

Executar uma consulta T-SQL de banco de dados elástico de exemplo

Depois de definir sua fonte de dados externa e suas tabelas externas, use o T-SQL para consultar suas tabelas externas.

Execute esta consulta no banco de dados ElasticDBQuery:

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

Você notará que a consulta agrega resultados de todos os fragmentos e fornece a seguinte saída:

Detalhes da saída.

Importar resultados de consulta de banco de dados elástico para o Excel

Você pode importar os resultados de uma consulta para um arquivo do Excel.

  1. Inicie o Microsoft Excel.
  2. Navegue até o separador Dados.
  3. Selecione De outras fontes e selecione Do SQL Server.
  4. No Assistente para Conexão de Dados, digite o nome do servidor e as credenciais de login. Em seguida, selecione Seguinte.
  5. Na caixa de diálogo Selecione o banco de dados que contém os dados desejados, selecione o ElasticDBQuery banco de dados.
  6. Selecione a Customers tabela na vista de lista e selecione Seguinte. Em seguida, selecione Concluir.
  7. No formulário Importar Dados , em Selecione como deseja exibir esses dados em sua pasta de trabalho, selecione Tabela. Selecione OK.

Todas as linhas da Customers tabela, armazenadas em fragmentos diferentes, preenchem a folha do Excel.

Agora você pode usar as poderosas funções de visualização de dados do Excel. Você pode usar a cadeia de conexão com o nome do servidor, o nome do banco de dados e as credenciais para conectar suas ferramentas de BI e integração de dados ao banco de dados de consulta elástica. Verifique se o SQL Server tem suporte como uma fonte de dados para sua ferramenta. Você pode se referir ao banco de dados de consulta elástica e às tabelas externas como qualquer outro banco de dados do SQL Server e tabelas do SQL Server às quais você se conectaria com sua ferramenta.

Custo

Não há cobrança adicional pelo uso do recurso Elastic Database Query.

Para obter informações sobre preços, consulte Detalhes de preços do Banco de dados SQL.