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 Migrando bancos de dados existentes para bancos de dados expandidos.
Para compreender os objetos SQL necessários para a consulta, veja Consultar bancos de dados particionados horizontalmente.
Pré-requisitos
Baixe e execute a exemplo da Introdução às ferramentas de Banco de Dados Elástico.
Criar um gerenciador de mapa de fragmentos usando o aplicativo de exemplo
Aqui você vai criar um gerenciador de mapa de fragmentos juntamente com vários fragmentos, seguido pela inserção de dados nos fragmentos. Se você já tem fragmentos configurados com dados fragmentados, poderá ignorar as etapas a seguir e mover para a próxima seção.
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:
Na janela 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.
O Portal do Azure deve mostrar três novos bancos de dados em seu servidor:
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 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
Abra o Portal do Azure e faça logon.
Crie um novo Banco de Dados SQL do Azure no mesmo servidor da instalação do fragmento. Nomeie o banco de dados como "ElasticDBQuery".
Observação
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 será 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:
Abra o SQL Server Management Studio ou o SQL Server Data Tools no Visual Studio.
Conecte-se ao banco de dados ElasticDBQuery 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>';
O "nome de usuário" e a "senha" devem ser iguais às informações de logon usadas na etapa 3 da seção Baixar e executar o aplicativo de exemplo do artigo Introdução às ferramentas de Banco de Dados Elástico.
Fontes de dados externas
Para criar uma fonte de dados externa, execute o seguinte comando no banco de dados 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" é o nome do mapa de fragmentos, se você tiver criado um mapa de fragmentos e o gerenciador de mapa de fragmentos usando as ferramentas de banco de dados de exemplo. 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 de Clientes nos fragmentos executando o comando a seguir no banco de dados ElasticDBQuery:
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 que tiver definido sua fonte de dados e tabelas externas, agora você poderá usar o T-SQL completo nas tabelas externas.
Execute esta consulta no banco de dados ElasticDBQuery:
select count(CustomerId) from [dbo].[Customers]
Você observará que a consulta agrega os resultados de todos os fragmentos e fornece a seguinte 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.
Inicie o Excel 2013.
Navegue até a faixa de opções Dados .
Clique em De Outras Fontes e em Do SQL Server.
No Assistente para conexão de dados , digite as credenciais de logon e nome do servidor. Em seguida, clique em Próximo.
Na caixa de diálogo Selecione o banco de dados que contém os dados que você deseja, selecione o banco de dados ElasticDBQuery.
Selecione a tabela Clientes na exibição de lista e clique em Avançar. Em seguida, clique em Concluir.
No formulário Importar Dados em Selecione como deseja exibir esses dados na sua pasta de trabalho, selecione Tabela e clique em OK.
Todas as linhas da tabela Clientes , armazenada em fragmentos diferentes, populam 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, nome do banco de dados e credenciais para conectar suas ferramentas de integração de dados e BI ao banco de dados de consulta elástico. 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 de consulta de Banco de Dados Elástico.
Para obter informações sobre os preços, consulte Detalhes de preços do Banco de Dados SQL.
Próximas etapas
- Para obter uma visão geral de consulta elástica, veja Visão geral de consulta elástica.
- Para obter um tutorial sobre particionamento vertical, veja Introdução à consulta entre bancos de dados (particionamento vertical).
- Para sintaxe e amostras de consultas para dados particionados verticalmente, consulte Consultando dados particionados verticalmente)
- Para sintaxe e amostras de consultas para dados particionados horizontalmente, consulte Consultando dados particionados horizontalmente)
- Confira sp_execute _remote para obter um procedimento armazenado que executa uma instrução Transact-SQL em um só banco de dados SQL do Azure remoto ou um conjunto de bancos de dados que servem como fragmentos em um esquema de particionamento horizontal.