Raport w skalowanych w poziomie baz danych w chmurze (wersja zapoznawcza)
Dotyczy: Azure SQL Database
Raporty z wielu baz danych można tworzyć z jednego punktu połączenia przy użyciu zapytania elastycznego. Bazy danych muszą być partycjonowane w poziomie (nazywane również "podzielonymi na fragmenty").
Jeśli masz istniejącą bazę danych, zobacz Migrowanie istniejących baz danych do skalowanych w poziomie baz danych.
Aby zrozumieć obiekty SQL potrzebne do wykonywania zapytań, zobacz Query across horizontally partitioned databases (Wykonywanie zapytań w bazach danych podzielonych na partycje poziome).
Wymagania wstępne
Pobierz i uruchom przykład Wprowadzenie do narzędzi elastycznej bazy danych.
Tworzenie menedżera map fragmentów przy użyciu przykładowej aplikacji
W tym miejscu utworzysz menedżera mapy fragmentów wraz z kilkoma fragmentami, a następnie wstawisz dane do fragmentów. Jeśli masz już konfigurację fragmentów z danymi podzielonymi na fragmenty, możesz pominąć poniższe kroki i przejść do następnej sekcji.
Skompiluj i uruchom przykładową aplikację Narzędzia elastycznej bazy danych , wykonując kroki opisane w sekcji artykułu Pobierz i uruchom przykładową aplikację. Po zakończeniu wszystkich kroków zostanie wyświetlony następujący wiersz polecenia:
W oknie polecenia wpisz "1" i naciśnij Enter. Spowoduje to utworzenie menedżera mapy fragmentów i dodanie dwóch fragmentów do serwera. Następnie wpisz "3" i naciśnij Enter; powtórz akcję cztery razy. Spowoduje to wstawienie przykładowych wierszy danych w fragmentach.
W witrynie Azure Portal powinny być wyświetlane trzy nowe bazy danych na serwerze:
W tym momencie zapytania między bazami danych są obsługiwane za pośrednictwem bibliotek klienckich elastycznej bazy danych. Na przykład użyj opcji 4 w oknie polecenia. Wyniki zapytania obejmującego wiele fragmentów są zawsze wynikiem UNION ALL ze wszystkich fragmentów.
W następnej sekcji utworzymy przykładowy punkt końcowy bazy danych, który obsługuje bardziej zaawansowane wykonywanie zapytań dotyczących danych między fragmentami.
Tworzenie elastycznej bazy danych zapytań
Otwórz witrynę Azure Portal i zaloguj się.
Utwórz nową bazę danych w usłudze Azure SQL Database na tym samym serwerze co konfiguracja fragmentu. Nadaj bazie danych nazwę "ElasticDBQuery".
Uwaga
Możesz użyć istniejącej bazy danych. Jeśli możesz to zrobić, nie może to być jeden z fragmentów, na których chcesz wykonywać zapytania. Ta baza danych będzie używana do tworzenia obiektów metadanych dla zapytania elastycznej bazy danych.
Tworzenie obiektów bazy danych
Klucz główny i poświadczenia w zakresie bazy danych
Są one używane do nawiązywania połączenia z menedżerem mapy fragmentów i fragmentami:
Otwórz program SQL Server Management Studio lub sql Server Data Tools w programie Visual Studio.
Połącz się z bazą danych ElasticDBQuery i wykonaj następujące polecenia języka T-SQL:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master_key_password>'; CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred WITH IDENTITY = '<username>', SECRET = '<password>';
"nazwa użytkownika" i "hasło" powinny być takie same jak informacje logowania używane w kroku 3 sekcji Pobieranie i uruchamianie przykładowej aplikacji w artykule Wprowadzenie do narzędzi elastycznej bazy danych.
Zewnętrzne źródła danych
Aby utworzyć zewnętrzne źródło danych, wykonaj następujące polecenie w bazie danych 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" to nazwa mapy fragmentów, jeśli utworzono mapę fragmentów i menedżera mapy fragmentów przy użyciu przykładowego narzędzia elastycznej bazy danych. Jeśli jednak użyto niestandardowej konfiguracji dla tego przykładu, powinna to być nazwa mapy fragmentu wybrana w aplikacji.
Tabele zewnętrzne
Utwórz tabelę zewnętrzną zgodną z tabelą Customers na fragmentach, wykonując następujące polecenie w bazie danych 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])
) ;
Wykonywanie przykładowego zapytania T-SQL elastycznej bazy danych
Po zdefiniowaniu zewnętrznego źródła danych i tabel zewnętrznych można teraz używać pełnego języka T-SQL w tabelach zewnętrznych.
Wykonaj to zapytanie w bazie danych ElasticDBQuery:
select count(CustomerId) from [dbo].[Customers]
Zauważysz, że zapytanie agreguje wyniki ze wszystkich fragmentów i daje następujące dane wyjściowe:
Importowanie wyników zapytań elastycznej bazy danych do programu Excel
Wyniki zapytania można zaimportować do pliku programu Excel.
Uruchom program Excel 2013.
Przejdź do wstążki Dane .
Kliknij pozycję Z innych źródeł i kliknij pozycję Z programu SQL Server.
W Kreatorze połączenia danych wpisz nazwę serwera i poświadczenia logowania. Następnie kliknij Dalej.
W oknie dialogowym Wybierz bazę danych zawierającą żądane dane, wybierz bazę danych ElasticDBQuery .
Wybierz tabelę Customers (Klienci) w widoku listy i kliknij przycisk Next (Dalej). Następnie kliknij przycisk Zakończ.
W formularzu Importuj dane w obszarze Wybierz sposób wyświetlania tych danych w skoroszycie wybierz pozycję Tabela i kliknij przycisk OK.
Wszystkie wiersze z tabeli Customers (Klienci ) przechowywane w różnych fragmentach wypełniają arkusz programu Excel.
Teraz możesz używać zaawansowanych funkcji wizualizacji danych programu Excel. Możesz użyć parametry połączenia z nazwą serwera, nazwą bazy danych i poświadczeniami, aby połączyć narzędzia do analizy biznesowej i integracji danych z elastyczną bazą danych zapytań. Upewnij się, że program SQL Server jest obsługiwany jako źródło danych dla narzędzia. Możesz odwołać się do elastycznej bazy danych zapytań i tabel zewnętrznych, podobnie jak w przypadku każdej innej bazy danych programu SQL Server i tabel programu SQL Server, z którymi można nawiązać połączenie za pomocą narzędzia.
Koszt
Za korzystanie z funkcji Elastic Database Query nie są naliczane dodatkowe opłaty.
Aby uzyskać informacje o cenach, zobacz Szczegóły cennika usługi SQL Database.
Następne kroki
- Aby zapoznać się z omówieniem zapytania elastycznego, zobacz Omówienie zapytań elastycznych.
- Aby zapoznać się z samouczkiem dotyczącym partycjonowania w pionie, zobacz Wprowadzenie do zapytań między bazami danych (partycjonowanie pionowe).
- Aby uzyskać informacje na temat składni i przykładowych zapytań dotyczących danych partycjonowanych pionowo, zobacz Querying vertically partitioned data (Wykonywanie zapytań dotyczących danych partycjonowanych pionowo)
- Aby uzyskać składnię i przykładowe zapytania dotyczące danych partycjonowanych w poziomie, zobacz Wykonywanie zapytań dotyczących danych partycjonowanych w poziomie)
- Zobacz sp_execute _remote procedury składowanej, która wykonuje instrukcję Języka Transact-SQL w ramach pojedynczej zdalnej bazy danych Azure SQL Database lub zestawu baz danych obsługujących jako fragmenty w schemacie partycjonowania poziomego.