Bagikan melalui


Menggunakan SQL Server dengan aplikasi kanvas

SQL Server adalah solusi yang banyak digunakan untuk menyimpan data perusahaan. Artikel ini menawarkan praktik terbaik untuk membantu Anda membangun dan menerbitkan aplikasi kanvas tingkat perusahaan dengan SQL Server.

Tip

Artikel ini memberikan contoh skenario dan representasi visual tentang cara menggunakan SQL Server dengan aplikasi kanvas. Solusi ini adalah contoh arsitektur umum, yang dapat digunakan untuk berbagai skenario dan industri. SQL Server dan Power Apps mendukung banyak pendekatan autentikasi lama. Artikel ini terbatas pada praktik terbaik.

Diagram arsitektur

Diagram arsitektur yang menunjukkan alur kerja untuk menggunakan SQL Server dengan aplikasi kanvas.

Alur kerja

Sementara banyak implementasi Power Apps sebelumnya dengan SQL Server menggunakan gateway, contoh arsitektur ini menyoroti arsitektur jaringan privat virtual (VNET) dengan SQL Server. Instans SQL Server dapat berupa Azure SQL atau database SQL lokal yang diekspos ke cloud melalui Azure Arc. Dalam kedua kasus tersebut, komunikasi bersifat pribadi dan aman.

  • Contoso VNET adalah jaringan privat virtual yang Anda buat di penyewa Anda.
  • Sumber daya Azure/sumber daya Contoso adalah sumber daya yang Anda sediakan di jaringan virtual dari dalam penyewa Anda. Sumber daya ini mencakup layanan seperti database Azure SQL atau database SQL Server lokal yang tersedia melalui Azure Arc.
  • Subnet yang didelegasikan berada dalam jaringan virtual Anda dan menyediakan kontainer untuk Power Platform memungkinkan layanan seperti konektor SQL atau Dataverse plug-in bekerja dengan sumber daya Anda.

Komponen

Bagian ini menjelaskan komponen yang mendukung integrasi SQL Server dengan aplikasi kanvas dalam arsitektur ini.

Aplikasi kanvas dan tabel SQL

Tabel dan tampilan SQL Server muncul sebagai Power Apps sumber data tabular. Anda dapat mengikat sumber data tabular ke properti tabel atau galeri Items menggunakan ekspresi Power Fx . Untuk sumber data tabular, Power Fx ekspresi diterjemahkan menjadi ekspresi OData, yang kemudian diubah menjadi ekspresi SQL. Namun, Power Fx dan OData tidak sepenuhnya mewakili semua kemampuan ekspresi SQL.

Tip

Gunakan Power Fx untuk kueri dasar dan langsung, dan gunakan prosedur tersimpan untuk ekspresi SQL yang lebih kompleks.

Aplikasi kanvas dan prosedur tersimpan SQL

Prosedur tersimpan SQL Server muncul sebagai Power Apps sumber data tindakan. Biasanya, sumber data tindakan tidak dapat terikat ke tabel atau galeri karena potensi efek sampingnya. Namun, Anda dapat menandai a select stored procedure sebagai Safe for Tables and Galleries dan menggunakannya dengan tabel atau galeri. Pendekatan ini mengambil semua data yang dikembalikan oleh prosedur tersimpan, tetapi berhati-hatilah karena mengambil terlalu banyak data dapat membanjiri memori klien. Untuk mengontrol jumlah data yang diambil, gunakan argumen paging parameter yang biasanya ada dalam jenis prosedur tersimpan ini.

Selain itu, atur hasil ke Power Fx variabel dan gunakan variabel ini di Items properti untuk mengisi tabel atau galeri. Ingatlah untuk menyegarkan Power Fx variabel pada operasi Buat, Perbarui, dan Hapus (CUD). Prosedur tersimpan yang lebih kompleks, seperti yang menggunakan tabel sementara, mungkin mengembalikan a dynamic schema. Anda dapat menggunakan hasil prosedur tersimpan ini dengan mengatur hasil yang diharapkan ke a Power Fx User defined type.

Konektor SQL Server

Power Apps aplikasi menggunakan konektor SQL Server untuk mengakses data di SQL Server. Meskipun ada banyak jenis autentikasi SQL yang tersedia, Microsoft Entra ID dan SPN yang dapat dibagikan (nama perwakilan layanan) adalah dua pilihan yang lebih baik.

Jika Anda ingin menggunakan Microsoft Entra ID, pertama-tama konfigurasikan database SQL Server untuk memberikan keamanan melalui Microsoft Entra ID. SPN yang dapat dibagikan adalah metode akses yang diaktifkan admin dan harus diberikan dengan hati-hati, karena semua pengguna memiliki hak akses database yang sama. Ini diamankan dengan koneksi implisit yang aman, yang membatasi akses ke tabel dan tindakan yang digunakan dalam aplikasi (yaitu, Get, Post, Put, dan Delete).

VNET (jaringan pribadi virtual)

Ada beberapa cara untuk merutekan panggilan ke SQL Server. Jaringan virtual adalah solusi cloud Azure yang membuat semua titik akhir menjadi pribadi. Untuk menerapkannya, sediakan jaringan virtual dalam penyewa Anda, siapkan kebijakan perusahaan, dan konfigurasikan lingkungan Anda Power Platform untuk mendukungnya. Penyiapan ini memastikan bahwa tidak ada lalu lintas SQL yang diekspos secara publik melalui kabel.

ALM (manajemen siklus hidup aplikasi)

Power Platform mendukung transisi Power Apps aplikasi yang mulus melalui SQL antara lingkungan Dev, Test, dan Produksi. Referensi koneksi mendukung perubahan string koneksi antar lingkungan, yang penting untuk SQL Auth dasar. Variabel lingkungan mendukung Microsoft Entra skenario ID dengan mengubah server dan database antar lingkungan.

Gunakan kasus

Power Apps Memberi organisasi cara yang fleksibel dan intuitif untuk membangun pengalaman pengguna khusus.

  • Jika Anda membuat aplikasi dan penyimpanan baru, pertimbangkan untuk menggunakannya Dataverse. Fitur-fiturnya dirancang untuk mempermudah pembuatan aplikasi tingkat perusahaan.
  • Jika Anda memiliki data di SQL Server yang tidak dapat dipindahkan, atau organisasi Anda memerlukan SQL Server, pertimbangkan untuk menggunakan Power Apps melalui SQL Server.
  • Jika data tidak dapat dipindahkan, gunakan Power Apps melalui SQL Server. Aplikasi yang ada masih bergantung pada data tersebut, jadi Anda perlu memindahkan aplikasi tersebut ke cloud untuk memodernisasinya.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Power Platform Well-Architected, seperangkat prinsip panduan yang meningkatkan kualitas beban kerja. Pelajari lebih lanjut di Microsoft Power Platform Well-Architected.

Keandalan

Rancang beban kerja Anda untuk menghindari kerumitan yang tidak perlu: Power Apps bekerja dengan baik dengan kueri langsung yang dapat Anda delegasikan ke server. Delegasikan tugas kompleks ke tampilan dan prosedur tersimpan. Kemudian, gunakan prosedur tersimpan tersebut secara langsung untuk tindakan sinkron. Gunakan Power Automate untuk tindakan asinkron, termasuk panggilan ke prosedur tersimpan yang berjalan lama.

Keamanan

Gunakan koneksi implisit yang aman: Gunakan koneksi implisit yang aman untuk semua koneksi bersama. Konversi aplikasi lama untuk menggunakan koneksi implisit yang aman sesuai kebutuhan. Dengan koneksi implisit yang aman, konektor tetap berada di dalam Power Apps layanan cloud dan tidak berada di klien. Aplikasi hanya terhubung ke konektor proxy, yang juga ada di Power Apps layanan cloud. Aplikasi dan konektor proxy saling mengetahui; namun, aplikasi tidak tahu tentang konektor. Konektor proksi memiliki kebijakan yang membatasi jenis kueri ke kueri di aplikasi.

Diagram arsitektur yang menggambarkan bagaimana komponen koneksi bersama secara implisit terkait satu sama lain.

Buat segmentasi dan perimeter yang disengaja: Gunakan lingkungan terpisah Power Platform untuk tahap siklus hidup aplikasi, dan pastikan hanya pengguna yang tepat yang memiliki akses ke setiap tahap untuk mendukung kebijakan segmentasi.

Keunggulan Operasional

Mengadopsi praktik penyebaran yang aman: Standarkan penyebaran setiap perubahan pada Power Apps aplikasi menggunakan proses penyebaran otomatis seperti alur. Promosikan aplikasi ke produksi hanya setelah menguji perubahan tersebut.

Efisiensi Kinerja

Desain untuk memenuhi persyaratan performa: Evaluasi performa solusi dan volume persyaratan data Anda untuk memastikan desain tabel, tampilan, dan prosedur tersimpan SQL Server Anda sesuai. Dalam evaluasi Anda, sertakan bagaimana data diakses dan bagaimana Power Apps mendelegasikan operasi ke SQL Server. Waspadai batasan saat mencari dan memfilter data karena dukungan delegasi yang ditawarkan oleh SQL Server. Tinjau batasan yang didokumentasikan untuk aplikasi kanvas di Memahami delegasi, terutama saat memilih sumber data atau backend yang tepat untuk aplikasi Anda.

Optimalkan logika: Aplikasi kanvas digunakan Power Fx untuk mengeksekusi pekerjaan. Setiap Power Fx operasi bersifat independen dan tidak ditangani sebagai transaksi atom. Misalnya, jika aplikasi membuat baris detail pesanan penjualan tetapi tidak membuat rekaman header pesanan penjualan, baris detail pesanan penjualan tetap ada. Jangan tinggalkan langkah-langkah Power Fx prosedural yang diperlukan ini. Gunakan prosedur tersimpan SQL Server dengan dukungan transaksi.

Pengoptimalan Pengalaman

Desain untuk efisiensi: Aplikasi yang memungkinkan pengguna mengakses sumber data lain bersama tabel SQL Server dari satu Power Apps aplikasi, tanpa memerlukan interaksi dengan beberapa aplikasi individual, meningkatkan efisiensi, dan memberikan pengalaman visual kustom yang lebih baik. Hindari membangun aplikasi untuk membangun aplikasi—aplikasi harus memberikan efisiensi kepada pengguna atau manfaat arsitektur lainnya dibandingkan menggunakan pengalaman berbasis Power Apps model.

Power Apps:

Konektor:

Manajemen siklus hidup aplikasi (ALM):