共用方式為


使用 SQL Server 與畫布應用程式

SQL Server 是一種廣泛使用的存儲企業數據的解決方案。 本文提供了最佳做法,可説明你使用 SQL Server 生成和發佈企業級畫布應用。

提示

本文提供了一個示例方案和如何將 SQL Server 與畫布應用配合使用的可視化表示形式。 該解決方案是一個通用的示例架構,可用於許多不同的場景和行業。 SQL Server 並 Power Apps 支援許多舊式身份驗證方法。 本文僅限於最佳做法。

架構圖表

體系結構圖,顯示將 SQL Server 與畫布應用配合使用的工作流。

Workflow

雖然許多以前的 SQL Server 實現 Power Apps 都使用閘道,但此示例體系結構重點介紹了 SQL Server 的虛擬專用網路 (VNET) 體系結構。 SQL Server 實例可以是 Azure SQL 或通過 Azure Arc 雲公開的本地 SQL 資料庫。在這兩種情況下,通信都是私密且安全的。

  • Contoso VNET 是在租戶中創建的虛擬專用網路。
  • Azure 資源/Contoso 資源 是從租戶中在虛擬網路中提供的資源。 這些資源包括通過 Azure Arc 提供的 Azure SQL 資料庫或本地 SQL Server 資料庫等服務。
  • 委派子網 位於虛擬網路中,並提供一個容器 Power Platform ,用於讓 SQL 連接器或 Dataverse 外掛程式等服務與資源配合使用。

元件

本部分介紹支援此體系結構中 SQL Server 與畫布應用集成的元件。

畫布應用和 SQL 表

SQL Server 表和檢視 Power Apps 顯示為表格數據源。 可以使用表達式將 Items 表格數據源綁定到表或庫 Power Fx 屬性。 對於表格數據源, Power Fx 表達式被轉換為 OData 運算式,然後將其轉換為 SQL 運算式。 但是, Power Fx OData 並不完全表示 SQL 運算式的所有功能。

提示

用於 Power Fx 基本、簡單的查詢,並將存儲過程用於更複雜的 SQL 運算式。

畫布應用和 SQL 儲存過程

SQL Server 儲存過程顯示 Power Apps 為作數據源。 通常,作數據源由於其潛在的副作用而無法綁定到表或庫。 但是,您可以將 a select stored procedure 標記為 Safe for Tables and Galleries 並將其與表格或圖庫一起使用。 此方法檢索存儲過程返回的所有數據,但要小心,因為檢索過多的數據可能會佔用用戶端的記憶體。 若要控制檢索到的數據量,請使用這些類型的存儲過程中通常存在的參數分頁參數。

此外,將結果設置為變數 Power Fx ,並在屬性中 Items 使用此變數來填充表或庫。 請記住在創建、更新和刪除 (CUD) 作中刷新 Power Fx 變數。 更複雜的存儲過程 (例如使用臨時表的存儲過程) 可能會返回 a dynamic schema。 可以通過將預期結果設置為 a Power Fx User defined type 來使用這些存儲過程的結果。

SQL Server 連接器

Power Apps 應用程式使用 SQL Server 連接器訪問 SQL Server 中的數據。 雖然有許多可用的 SQL 身份驗證類型, Microsoft Entra 但 ID 和可共用 SPN (服務主體名稱) 是兩個更好的選擇。

如果要使用 Microsoft Entra ID,請先配置 SQL Server 資料庫以通過 ID 提供 Microsoft Entra 安全性。 可共用 SPN 是一種啟用管理員的訪問方法,應謹慎授予,因為所有使用者都具有相同的資料庫訪問許可權。 它通過安全的隱式連接進行保護,這些連接限制了對應用程式中使用的表和作 (即 Get、Post、Put 和 Delete) 的訪問。

VNET (虛擬專用網路)

有多種方法可以將調用路由到 SQL Server。 虛擬網路 是一種 Azure 雲解決方案,可將所有終結點設為專用。 若要實現,請在租戶中預配虛擬網路,設置企業策略,並配置 Power Platform 環境以支援它。 此設置可確保不會通過網路公開公開 SQL 流量。

ALM (應用程式生命週期管理)

Power Platform 支援應用程式在開發、測試和生產環境之間通過 SQL 平滑過渡 Power Apps 。 連接引用支援在環境之間更改連接字串,這對於基本 SQL 身份驗證非常重要。環境變數通過在環境之間更改伺服器和資料庫來支援 Microsoft Entra ID 方案。

使用案例

Power Apps 為組織提供了一種靈活、直觀的方式來構建自定義用戶體驗。

  • 如果您正在構建新的應用程式和儲存空間,請考慮使用 Dataverse。 其功能旨在使構建企業級應用程式變得更加容易。
  • 如果 SQL Server 中有無法移動的數據,或者組織需要 SQL Server,請考慮通過 SQL Server 使用 Power Apps 。
  • 如果無法移動數據,請通過 SQL Server 使用 Power Apps 。 現有應用仍然依賴於這些數據,因此需要將這些應用遷移到雲中以實現現代化。

考量因素

這些考慮因素體現了 Power Platform Well-Architected 的支柱,這是一套提高工作負載品質的指導原則。 如需進一步了解,請參閱 Microsoft Power Platform Well-Architected

可靠性

設計工作負載以避免不必要的複雜性: Power Apps 適用於可以委託給伺服器的簡單查詢。 將複雜任務委託給檢視和存儲過程。 然後,直接將這些存儲過程用於同步作。 用於 Power Automate 任何異步作,包括對長時間運行的存儲過程的調用。

安全性

使用安全隱式連接:對所有共用連接使用安全隱式連接。 根據需要將任何較舊的應用程式轉換為使用安全的隱式連接。 使用安全隱式連接時,連接器將保留在雲服務中 Power Apps ,並且不駐留在用戶端上。 應用僅連接到代理連接器,該連接器也位於雲服務中 Power Apps 。 應用和代理連接器相互瞭解;但是,應用不知道連接器。 代理連接器具有將查詢類型限制為應用中的查詢的策略。

體系結構圖說明瞭隱式共用連接元件如何相互關聯。

創建有意的分段和邊界:為應用程式生命週期階段使用單獨 Power Platform 的環境,並確保只有正確的使用者才能訪問每個階段以支援分段策略。

卓越營運

採用安全部署做法:使用自動化部署過程 (如管道) 標準化對應用程式的任何 Power Apps 更改的部署。 僅在測試這些更改后,才將應用程式提升到生產環境。

效能效益

設計以滿足性能要求:評估解決方案性能和數據量要求,以確保 SQL Server 表、視圖和存儲過程設計合適。 在評估中,包括如何訪問數據以及如何 Power Apps 將作委託給 SQL Server。 由於 SQL Server 提供的委派支援,在搜索和篩選數據 時請注意限制 。 查看瞭解委派 記錄的畫布應用限制,尤其是在為應用選擇正確的數據源或後端時。

優化邏輯:畫布應用程式用於 Power Fx 執行工作。 每個 Power Fx 作都是獨立的,不作為原子事務進行處理。 例如,如果應用程式創建了銷售訂單詳細資訊行,但未創建銷售訂單標題記錄,則銷售訂單詳細資訊行將保留。 不要留下這些必需的程式步驟 Power Fx。 將 SQL Server 儲存過程與事務支援一起使用。

體驗最佳化

提高效率的設計:允許使用者從單個 Power Apps 應用程式訪問其他數據源以及 SQL Server 表的應用程式,而無需與多個單獨的應用程式交互,從而提高效率並提供更好的自定義視覺體驗。 避免生成應用程式來生成應用程式 - 與使用模型驅動 Power Apps 體驗相比,應用程式應為使用者提供一定的效率或其他體系結構優勢。

Power Apps:

連線:

應用程式生命週期管理 (ALM):