Azure Synapse Analytics 中的無伺服器 SQL 集區

每個 Azure Synapse Analytics 工作區都隨附無伺服器 SQL 集區端點,可用來查詢 Azure Data Lake 中的資料( Parquet Delta Lake 分隔文字 格式)、 Azure Cosmos DB 或 Dataverse。

無伺服器 SQL 集區是資料湖中的資料查詢服務。 它可讓您透過下列功能存取您的資料:

  • 提供可供查詢資料的熟悉 T-SQL 語法,讓您不必將資料複製或載入至特製化的存放區。 若要深入了解,請參閱 T-SQL 支援一節。
  • 透過 T-SQL 介面整合式連線,提供廣泛的商業智慧和臨機操作查詢工具,包括最受歡迎的驅動程式。 若要深入了解,請參閱用戶端工具一節。 您可以經由 Synapse 無伺服器 SQL 集區簡介影片深入了解。

無伺服器 SQL 集區是分散式資料處理系統,專為大規模資料和計算函式所建置。 無伺服器 SQL 集區可讓您根據工作負載,在幾秒到數分鐘內分析巨量資料。 由於內建查詢執行容錯,系統即使在涉及大型資料集的長時間執行查詢中,也能提供高度可靠性和成功率。

無伺服器 SQL 集區無伺服器,因此沒有可設定或叢集所要維護的基礎結構。 此服務的預設端點會在每個 Azure Synapse 工作區內提供,因此您可以在建立工作區時立即開始查詢資料。

保留的資源不收取任何費用,您只需針對您執行的查詢所處理的資料收費,因此此模型是真正的依使用付費模型。

如果您在資料管線中使用 Apache Spark for Azure Synapse、進行資料準備、清理或擴充,您可以 直接從無伺服器 SQL 集區查詢您在程式中建立的外部 Spark 資料表 。 使用 Private Link 將您的無伺服器 SQL 集區端點帶入受控 工作區 VNet

無伺服器 SQL 集區的優點

如果您需要探索 Data Lake 中的資料,請從資料湖中取得見解,或優化現有的資料轉換管線,您可以從使用無伺服器 SQL 集區中獲益。 它適用于下列案例:

  • 基本探索和探索 - 快速推斷資料在 Data Lake 中的各種格式 (Parquet、CSV、JSON),以便規劃如何從中擷取深入解析。
  • 邏輯資料倉儲 – 在未經處理或不同的資料上提供關聯式抽象概念,而不需要重新置放和轉換資料,即可隨時檢視資料。 深入瞭解如何 建立邏輯資料倉儲
  • 資料轉換 - 使用 T-SQL 在湖中轉換資料的簡單、可調整且高效能的方式,因此可以饋送給 BI 和其他工具,或載入關聯式資料存放區(Synapse SQL 資料庫、Azure SQL 資料庫等)。

不同的專業角色可以受益于無伺服器 SQL 集區:

如何開始使用無伺服器 SQL 集區

無伺服器 SQL 集區端點會在每個 Azure Synapse 工作區內提供。 您可以使用熟悉的工具立即建立工作區並開始查詢資料。

請確定您套用 最佳做法 以獲得最佳效能。

用戶端工具

無伺服器 SQL 集區可讓現有的 SQL 臨機操作查詢和商業智慧工具利用資料湖。 因為它提供熟悉的 T-SQL 語法,任何能夠建立與 SQL 供應專案之 TDS 連線的工具都可以 連線並查詢 Synapse SQL 。 您可以與 Azure Data Studio 連線並執行臨機操作查詢,或與 Power BI 連線,以在幾分鐘內取得深入解析。

T-SQL 支援

無伺服器 SQL 集區提供 T-SQL 查詢介面區,在某些方面稍微增強/擴充,以容納查詢半結構化和非結構化資料的體驗。 此外,T-SQL 語言的某些層面不受支援,因為無伺服器 SQL 集區的設計,例如,目前不支援 DML 功能。

  • 工作負載可以使用熟悉的概念來組織:
  • 資料庫 - 無伺服器 SQL 集區端點可以有多個資料庫。
  • 架構 - 在資料庫中,可以有一或多個稱為架構的物件擁有權群組。
  • 檢視、預存程式、內嵌資料表值函式
  • 外部資源 – 資料來源、檔案格式和資料表

您可以使用下列方式強制執行安全性:

  • 登入和使用者
  • 用來控制儲存體帳戶存取權的認證
  • 授與、拒絕和撤銷每個物件層級的許可權
  • Microsoft Entra 整合

支援的 T-SQL:

  • 支援完整的 SELECT 介面區,包括大部分的 SQL 函式
  • CETAS - CREATE EXTERNAL TABLE AS SELECT
  • 僅與檢視和安全性相關的 DDL 語句

無伺服器 SQL 集區沒有本機儲存體,只有中繼資料物件會儲存在資料庫中。 因此,不支援與下列概念相關的 T-SQL:

  • 資料表
  • 觸發程序
  • 具體化檢視
  • 與檢視和安全性相關的 DDL 語句
  • DML 陳述式

注意

無伺服器 SQL 集區查詢有逾時。 如需可能會影響工作負載的查詢逾時詳細資訊,請參閱 無伺服器 SQL 集區系統條件約束 。 目前您無法變更逾時。

擴充

為了讓您順暢地查詢位於 Data Lake 中檔案中的資料,無伺服器 SQL 集區藉由新增下列功能來擴充現有的 OPENROWSET 函式:

查詢多個檔案或資料夾

查詢 PARQUET 檔案格式

查詢 DELTA 格式

各種分隔文字格式(使用自訂欄位結束字元、資料列結束字元、逸出字元)

Azure Cosmos DB 分析存放區

讀取所選資料行子集

架構推斷

filename 函式

filepath 函式

使用複雜類型和巢狀或重複的資料結構

安全性

無伺服器 SQL 集區提供保護資料存取的機制。

Microsoft Entra 整合和多重要素驗證

無伺服器 SQL 集區可讓您使用 Microsoft Entra 整合 集中管理資料庫使用者和其他Microsoft 服務 的身分識別。 這項功能簡化了權限管理並增強安全性。 Microsoft Entra ID 支援 多重要素驗證 (MFA),以在支援單一登入精靈的同時,增加資料和應用程式安全性。

驗證

無伺服器 SQL 集區驗證是指使用者在連線到端點時如何證明其身分識別。 支援兩種類型的驗證:

  • SQL 驗證

    此驗證方法會使用使用者名稱和密碼。

  • Microsoft Entra 驗證

    此驗證方法會使用由 Microsoft Entra ID 管理的身分識別。 針對 Microsoft Entra 使用者,可以啟用多重要素驗證。 盡可能使用 Active Directory 驗證 (整合式安全性)。

授權

授權是指使用者可以在無伺服器 SQL 集區資料庫中執行的動作,並由使用者帳戶的資料庫角色成員資格和物件層級許可權控制。

如果使用 SQL 驗證,則 SQL 使用者只存在於無伺服器 SQL 集區中,且許可權會限定為無伺服器 SQL 集區中的物件。 無法直接存取其他服務中的安全性實體物件(例如 Azure 儲存體),因為它只存在於無伺服器 SQL 集區的範圍內。 SQL 使用者必須使用其中 一個支援的授權類型 來存取檔案。

如果使用 Microsoft Entra 驗證,使用者可以登入無伺服器 SQL 集區和其他服務,例如Azure 儲存體,並可將許可權授與 Microsoft Entra 使用者。

儲存體帳戶的存取權

登入無伺服器 SQL 集區服務的使用者必須獲得存取權,並查詢Azure 儲存體中的檔案。 無伺服器 SQL 集區支援下列授權類型:

  • 共用存取簽章 (SAS) 提供對儲存體帳戶中資源的委派存取權。 透過 SAS,您可以授與用戶端對儲存體帳戶中資源的存取權,而不需共用帳戶金鑰。 SAS 可讓您更細微地控制您授與 SAS 的用戶端存取類型:有效間隔、授與許可權、可接受的 IP 位址範圍、可接受的通訊協定(HTTPs/HTTP)。

  • 使用者身分識別 (也稱為「傳遞」)是授權類型,其中登入無伺服器 SQL 集區之 Microsoft Entra 使用者的身分識別是用來授權資料存取權的 Microsoft Entra 使用者。 存取資料之前,Azure 儲存體系統管理員必須授與 Microsoft Entra 使用者存取資料的許可權。 此授權類型會使用登入無伺服器 SQL 集區的 Microsoft Entra 使用者,因此不支援 SQL 使用者類型。

  • 工作區身分識別 是授權類型,其中 Synapse 工作區的身分識別用來授權資料存取權。 存取資料之前,Azure 儲存體系統管理員必須將許可權授與工作區身分識別,才能存取資料。

存取 Azure Cosmos DB

您必須使用 Azure Cosmos DB 帳戶唯讀金鑰來建立伺服器層級或資料庫範圍認證,才能 存取 Azure Cosmos DB 分析存放區

下一步

如需端點連線和查詢檔案的其他資訊,請參閱下列文章: