Поділитися через


Використання SQL Server із програмами на полотні

SQL Server – це широко використовуване рішення для зберігання корпоративних даних. У цій статті наведено практичні поради, які допоможуть вам створити й опублікувати програму полотна корпоративного рівня за допомогою SQL Server.

Порада

У цій статті наведено приклад сценарію та наочне уявлення про те, як використовувати SQL Server із програмою полотна. Це рішення є узагальненим прикладом архітектури, яку можна використовувати для багатьох різних сценаріїв та галузей. SQL Server і Power Apps підтримують багато застарілих підходів до автентифікації. Ця стаття обмежується найкращими практиками.

Архітектурна діаграма

Діаграма архітектури, яка показує робочий процес використання SQL Server із програмами на полотні.

Workflow

У той час як багато попередніх реалізацій Power Apps з SQL Server використовували шлюз, цей приклад архітектури підкреслює архітектуру віртуальної приватної мережі (VNET) з SQL Server. Екземпляром SQL Server може бути Azure SQL або локальна база даних SQL, яка відображається в хмарі через Azure Arc. В обох випадках зв’язок є приватним і безпечним.

  • Contoso VNET – це віртуальна приватна мережа, яку ви створюєте у своєму клієнті.
  • Ресурси Azure/Contoso – це ресурси, які ви надаєте доступ у віртуальній мережі безпосередньо своєму клієнту. До таких ресурсів належать такі служби, як база даних Azure SQL або локальна база даних SQL Server, доступна через Azure Arc.
  • Делегована підмережа розташована у вашій віртуальній мережі та надає контейнер для Power Platform роботи таких служб, як SQL-з’єднувач або Dataverse плагін, з вашими ресурсами.

Компоненти

У цьому розділі описано компоненти, які підтримують інтеграцію SQL Server із програмами на полотні в цій архітектурі.

Додаток Canvas і таблиці SQL

Таблиці та подання SQL Server відображаються Power Apps як табличні джерела даних. Табличне джерело даних можна зв’язати з властивістю таблиці або галереї Items за допомогою Power Fx виразу. Для табличних джерел даних вирази Power Fx переводяться в вирази OData, які потім перетворюються в вирази SQL. Однак, Power Fx і OData не повністю представляють всі можливості SQL-виразу.

Порада

Використовуйте Power Fx для базових, простих запитів і використовуйте збережені процедури для більш складних виразів SQL.

Програма Canvas і процедури зберігання SQL

Збережені процедури SQL Server відображаються у Power Apps вигляді джерел даних дій. Як правило, джерела даних про дії не можна прив’язати до таблиці або галереї через їхні потенційні побічні ефекти. Однак ви можете позначити a select stored procedure як Safe for Tables and Galleries і використовувати його з таблицею або галереєю. Цей підхід отримує всі дані, які повертає збережена процедура, але будьте обережні, оскільки отримання занадто великої кількості даних може перевантажити пам’ять клієнта. Щоб контролювати обсяг отриманих даних, використовуйте аргументи перевантаження параметрів, які зазвичай присутні в цих типах збережених процедур.

Крім того, встановіть для результатів змінну Power Fx та використовуйте цю змінну Items у властивості для заповнення таблиці або галереї. Не забувайте оновлювати змінну Power Fx під час операцій створення, оновлення та видалення (CUD). Більш складні збережені процедури, такі як ті, що використовують тимчасові таблиці, можуть повертати a dynamic schema. Ви можете використовувати результати цих збережених процедур, встановивши очікувані результати на a Power Fx User defined type.

З’єднувач SQL Server

Power Apps програми використовують з’єднувач SQL Server для доступу до даних у SQL Server. Незважаючи на те, що існує багато типів автентифікації SQL, Microsoft Entra ідентифікатор і спільний SPN (ім’я принципала служби) є двома кращими варіантами.

Якщо потрібно використовувати Microsoft Entra ID, спочатку настройте базу даних SQL Server для забезпечення безпеки за допомогою Microsoft Entra ідентифікатора. Спільний SPN – це метод доступу з підтримкою адміністратора, і його слід надавати обережно, оскільки всі користувачі мають однакові права доступу до бази даних. Він захищений безпечними неявними з’єднаннями, які обмежують доступ до таблиць і дій, що використовуються в додатку (тобто Get, Post, Put і Delete).

VNET (віртуальна приватна мережа)

Існує кілька способів спрямування викликів до SQL Server. Віртуальна мережа – це хмарне рішення Azure, яке робить усі кінцеві точки приватними. Щоб впровадити, підготуйте віртуальну мережу всередині свого клієнта, налаштуйте корпоративну політику та налаштуйте середовище Power Platform для її підтримки. Ця конфігурація гарантує, що жоден SQL-трафік не буде відкрито виставлятися через дроти.

ALM (управління життєвим циклом програми)

Power Platform підтримує плавний Power Apps перехід програми по SQL між середовищами Dev, Test і Production. Посилання на з’єднання підтримують зміну рядків з’єднання між середовищами, що важливо для базової аутентифікації SQL. Змінні середовища підтримують Microsoft Entra сценарій ID, змінюючи сервер і базу даних між середовищами.

Випадки використання

Power Apps надає організаціям гнучкий, інтуїтивно зрозумілий спосіб створення користувацького досвіду.

  • Якщо ви створюєте новий додаток і сховище, розгляньте можливість використання Dataverse. Його функції розроблені для полегшення створення додатків корпоративного рівня.
  • Якщо у вас є дані в SQL Server, які не можна перемістити, або вашій організації потрібен SQL Server, розгляньте можливість використання Power Apps через SQL Server.
  • Якщо дані не можна перемістити, використовуйте Power Apps через SQL Server. Наявні програми все ще залежать від цих даних, тому вам потрібно перенести ці програми в хмару, щоб модернізувати їх.

Фактори, які необхідно враховувати

Ці міркування реалізують стовпи 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. Ознайомтеся з обмеженнями, задокументованими для програм на полотні, у статті Розуміння делегування, особливо під час вибору правильного джерела даних або серверної частини для вашої програми.

Оптимізація логіки: програми Canvas використовують Power Fx для виконання роботи. Кожна Power Fx операція є незалежною і не обробляється як атомарна транзакція. Наприклад, якщо програма створює рядок відомостей про замовлення на продаж, але не створює запис заголовка замовлення на продаж, рядок відомостей про замовлення на продаж залишається. Не залишайте ці необхідні процедурні кроки Power Fx. Використовуйте збережені процедури SQL Server із підтримкою транзакцій.

Оптимізація роботи

Дизайн для ефективності: програми, які дозволяють користувачам отримувати доступ до інших джерел даних разом із таблицями SQL Server з однієї Power Apps програми, не вимагаючи взаємодії з кількома окремими програмами, підвищують ефективність і забезпечують кращий користувацький візуальний досвід. Уникайте створення програми для створення програми — програма повинна забезпечувати певну ефективність користувача або іншу перевагу архітектури порівняно з використанням досвіду, керованого Power Apps моделлю.

Потужні програми:

Роз’єми:

Управління життєвим циклом програми (ALM):