Compartilhar via


Relatórios entre bancos de dados expandidos na nuvem (preview)

Aplica-se a:Banco de Dados SQL do Azure

Você pode criar relatórios de vários bancos de dados por meio de um ponto de conexão única com uma consulta elástica. Os bancos de dados devem ser particionados horizontalmente (também conhecido como "fragmentados").

Se você tiver um banco de dados existente, consulte Migrar bancos de dados existentes para escalar horizontalmente.

Para entender os objetos SQL necessários para realizar consultas, consulte Reportando em bancos de dados de nuvem com escala horizontal (versão prévia).

Pré-requisitos

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

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

Aqui, você criará um gerenciador de mapa de fragmentos junto com vários fragmentos, seguido pela inserção de dados nos fragmentos. Se você já tiver fragmentos configurados com dados fragmentados neles, pode pular as etapas a seguir e ir para a próxima seção.

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

    Captura de tela do prompt de comando do kit de início das Ferramentas de Banco de Dados Elástico.

  2. Na janela de comando, digite 1 e pressione Enter. Isso cria o gerenciador de mapa de fragmentos e adiciona dois fragmentos ao servidor. Em seguida, digite 3 e pressione Enter; repita a ação quatro vezes. Isso insere linhas de dados de exemplo no 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, consultas entre bancos de dados têm suporte por meio de bibliotecas de cliente do Banco de Dados Elástico. Por exemplo, use a opção 4 na janela de comando. Os resultados de uma consulta de vários fragmento são sempre um UNION ALL dos resultados de todos os fragmentos.

    Na próxima seção, criaremos um ponto de extremidade de banco de dados de exemplo que dá suporte a consultas mais avançadas de dados entre fragmentos.

Criar um banco de dados de consulta elástico

  1. Abra o portal do Azure e entre em sua conta.

  2. Crie um novo Banco de Dados SQL do Azure no mesmo servidor da instalação do fragmento. Nomeie o banco de dados ElasticDBQuery.

    Você pode usar um banco de dados existente. Se fizer isso, ele não deve ser um dos fragmentos aonde você deseja 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 do escopo do banco de dados e credenciais

Eles são usados para conectar ao gerenciador de mapa de fragmentos 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 logon que você criou nas etapas anteriores.

Fontes de dados externas

Para criar uma fonte de dados externa, execute o seguinte comando no ElasticDBQuery 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 você criou o mapa de fragmentos e o gerenciador de mapa de fragmentos usando o exemplo de ferramentas de banco de dados elástico. No entanto, se você usou a configuração personalizada para este exemplo, ele deve ter o nome do mapa de fragmento escolhido no seu aplicativo.

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 no banco de dados elástico de exemplo

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

Execute esta consulta no ElasticDBQuery banco de dados:

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

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

Detalhes de 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é a faixa de opções Dados .
  3. Selecione De Outras Fontes e selecione De SQL Server.
  4. No Assistente de Conexão de Dados, digite o nome do servidor e as credenciais de logon. Em seguida, selecione Avançar.
  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 no modo de exibição de lista e selecione Avançar. Em seguida, selecione Concluir.
  7. No formulário Importar Dados , em Selecionar como você 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 planilha do Excel.

Agora você pode usar funções avançadas 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 o BI e as ferramentas de integração de dados ao banco de dados de consulta elástica. Certifique-se de que o SQL Server tem suporte como uma fonte de dados para a ferramenta. Você pode consultar o banco de dados de consulta elástico e tabelas externas como qualquer outro banco de dados e tabela do SQL Server que se conectariam à sua ferramenta.

Custo

Não há nenhum custo adicional para usar o recurso Consulta de Banco de Dados Elástico.

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