適用於:Azure SQL 資料庫
您可以使用彈性查詢,從單一連接點的多個資料庫建立報告。 資料庫必須水平分割 (也稱為「分區化」)。
如果您有現有的資料庫,請參閱 移轉現有的資料庫以擴展規模。
若要了解查詢所需的 SQL 物件,請參閱跨向外延展雲端資料庫的報告(預覽版)。
先決條件
下載並執行 開始使用彈性資料庫工具。
使用範例應用程式建立分區對應管理員
在這裡,您將建立分區對應管理員以及數個分區,然後插入數據到分區。 如果您恰巧已經設置了分片並在其中存有分片化數據,您可以略過下列步驟並移至下一節。
按照文章中〈下載並執行範例應用程式〉一節中所述的步驟,建立並執行彈性資料庫工具使用者入門範例應用程式。 完成所有步驟之後,您會看到下列命令提示字元:
在命令視窗中,輸入
1並按 Enter。 這會建立分區對應管理員,並加入兩個分區到伺服器。 然後輸入3並按 Enter;重複動作四次。 這會在您的分區中插入範例資料列。Azure 入口網站應該會在您的伺服器中顯示三個新的資料庫:
目前,跨資料庫查詢是透過彈性資料庫用戶端程式庫支援。 例如,在命令視窗中使用 選項
4。 多分區查詢的結果一律UNION ALL是來自所有分區的結果。在下一節中,我們會建立支援更豐富的跨分區資料查詢的範例資料庫端點。
建立彈性的查詢資料庫
開啟 Azure 入口網站 並登入。
在與分區安裝程式相同的伺服器中建立新的 Azure SQL DatabaseAzure SQL Database。 將資料庫
ElasticDBQuery命名為 。您可以使用現有的資料庫。 如果您可以這樣做,它不得是您想要對其執行查詢的其中一個分區。 此資料庫用於建立彈性資料庫查詢的元數據物件。
建立資料庫物件
資料庫範圍的主要金鑰和認證
這些是用來連接到分區對應管理員和分區:
在 Visual Studio 中開啟 SQL Server Management Studio 或 SQL Server Data Tools
線上到
ElasticDBQuery資料庫並執行下列 T-SQL 命令:CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master_key_password>'; CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred WITH IDENTITY = '<username>', SECRET = '<password>';「用戶名稱」和「密碼」應該是您在先前步驟中建立的登入資訊。
外部資料來源
若要建立外部數據來源,請在 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 是分區對應的名稱,前提是您使用了彈性資料庫工具範例來建立分區對應和分區對應管理員。 不過,如果您為此範例使用您的自訂安裝程式,它應該是您在應用程式中選擇的分區對應名稱。
外部資料表
在 ElasticDBQuery 資料庫中執行下列命令,建立與分片上的 Customers 資料表相符的外部表:
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];
您會發現查詢會匯總所有分區的結果,並提供下列輸出:
匯入彈性資料庫查詢結果到 Excel
您可以從查詢的結果匯入到 Excel 檔案。
- 啟動 Microsoft Excel。
- 瀏覽至 [ 資料 ] 功能區。
- 選取 [從其他來源 ],然後選取 [從 SQL Server]。
- 在 [數據連線精靈] 中,輸入伺服器名稱和登入認證。 然後選取下一步。
- 在 [ 選取包含所需數據的資料庫] 對話框中,選取
ElasticDBQuery資料庫。 -
Customers選取清單檢視中的數據表,然後選取 [下一步]。 然後選取 [完成]。 - 在 [ 匯入數據 ] 表單 的 [選取您要如何在活頁簿中檢視此數據] 底下,選取 [ 數據表]。 請選擇 [確定]。
數據表 Customers 中的所有數據列,儲存在不同的分區中,都會填入 Excel 工作表。
您現在可以使用 Excel 強大的資料視覺化功能。 您可以使用連接字串搭配您的伺服器名稱、資料庫名稱和認證,將 BI 和資料整合工具連線到彈性查詢資料庫。 請確定 SQL Server 可支援做為您的工具的資料來源。 您可以參考彈性查詢資料庫和外部資料表,就如同您會使用您的工具連接的任何其他 SQL Server 資料庫和 SQL Server 資料表。
費用
使用彈性資料庫查詢功能不需要額外費用。
如需定價資訊,請參閱 SQL Database 定價詳細數據。