跨相應放大雲端資料庫報告 (預覽)
適用於:Azure SQL 資料庫
您可以使用彈性查詢,從單一連接點的多個資料庫建立報告。 資料庫必須水平分割 (也稱為「分區化」)。
如果您有現有的資料庫,請參閱 將現有的資料庫移轉到相應放大的資料庫。
若要了解查詢所需的 SQL 物件,請參閱 跨水平分割資料庫查詢。
先決條件
下載並執行 彈性資料庫工具範例入門。
使用範例應用程式建立分區對應管理員
在這裡,您將建立分區對應管理員以及數個分區,接著插入資料至分區。 若您的分區設定中已有分區資料,則可以略過下列步驟並移至下一節。
按照文章中〈下載並執行範例應用程式〉一節中所述的步驟,建立並執行彈性資料庫工具使用者入門範例應用程式。 完成所有步驟之後,您會看到下列命令提示字元:
在命令視窗中,輸入 "1",然後按 Enter。 這會建立分區對應管理員,並加入兩個分區到伺服器。 然後輸入 "3",然後按 Enter;重複此動作四次。 這會在您的分區中插入範例資料列。
Azure 入口網站應該會在您的伺服器中顯示三個新的資料庫:
目前,跨資料庫查詢是透過彈性資料庫用戶端程式庫支援。 例如,在命令視窗中使用第 4 個選項。 來自多個分區查詢的結果永遠是所有分區的結果的 全部聯集 。
在下一節中,我們會建立支援更豐富的跨分區資料查詢的範例資料庫端點。
建立彈性的查詢資料庫
開啟 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>';
"username" 和 "password" 應該與彈性資料庫工具入門文章中〈下載及執行範例應用程式〉一節的步驟 3 中所使用的登入資訊相同。
外部資料來源
若要建立外部資料來源,請在 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 資料庫上執行下列命令,建立符合分區上的客戶資料表外部資料表:
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 檔案。
啟動 Excel 2013。
瀏覽至 [ 資料 ] 功能區。
按一下 [從其他來源],然後按一下 [從 SQL Server]。
在 [ 資料連線精靈 ] 中,輸入伺服器名稱和登入認證。 然後按一下 [下一步] 。
在對話方塊 [選取包含您想要的資料的資料庫] 中,選取 ElasticDBQuery 資料庫。
在清單檢視中選取 [客戶] 資料表,然後按 [下一步]。 然後按一下 [ 完成]。
在 [匯入資料] 表單中,於 [選取您要在活頁簿中檢視此資料的方式] 下,選取 [資料表],然後按一下 [確定]。
儲存在不同分區中、來自 [客戶] 資料表的所有資料列會填入 Excel 工作表。
您現在可以使用 Excel 強大的資料視覺化功能。 您可以使用具備您的伺服器名稱、資料庫名稱和認證的連接字串來連接您的 BI 和資料整合工具至彈性查詢資料庫。 請確定 SQL Server 可支援做為您的工具的資料來源。 您可以參考彈性查詢資料庫和外部資料表,就如同您會使用您的工具連接的任何其他 SQL Server 資料庫和 SQL Server 資料表。
Cost
使用彈性資料庫查詢功能不另行收費。
如需價格資訊,請參閱 SQL Database 價格詳細資料。
下一步
- 如需彈性查詢的概觀,請參閱彈性查詢概觀。
- 若要開始撰寫程式碼,請參閱 開始使用跨資料庫查詢 (垂直資料分割)。
- 如需垂直資料分割之資料的語法和範例查詢,請參閱查詢垂直資料分割的資料
- 如需水平資料分割之資料的語法和範例查詢,請參閱查詢水平資料分割的資料
- 如需在單一遠端 Azure SQL Database,或水平資料分割配置中做為分區的資料庫組上,執行 Transact-SQL 陳述式的預存程序,請參閱 sp_execute _remote。