LoginSignup
3
0

Azure SQL Databaseを使ったPower Platformの検討

Last updated at Posted at 2023-11-30

Power PlatformはデータベースにDataverseを利用することが多いですが、Azure SQL Databaseを使うことも可能です。Azure SQL Databaseを使った場合を検討してみます。

Azure SQL Databaseを使う場合、SQL Serverコネクタを利用する方法と仮想テーブルを利用する方法があります。

SQL Serverコネクターを利用してAzure SQL Databaseを使う場合。

仮想テーブルを利用する場合は、Dataverseを経由してAzure SQL Serverへ接続します。

Azure SQL Databaseの準備

Azure SQL Databaseの無料プランを使って準備します。

  • Azure ポータルでAzure SQL Database for freeを有効にします。
    image.png

  • SQL Database サーバーを作成します。今回の認証方法は Microsoft Entraのみの認証を使用する を選択します。
    image.png

  • SQL データベースを作成します。
    image.png

  • 接続方法は、パブリック エンドポイント を選択して、Azure サービスおよびリソースにこのサーバへのアクセスを許可するはいにします。これでPower PlatformのSQL Serverコネクタからアクセスできます。
    image.png

  • クエリ エディターを使用してテーブルを作成します。

image.png

CREATE TABLE Member
(
	MemberId INT IDENTITY PRIMARY KEY,
	FirstName NVARCHAR(128) NOT NULL,
	LastName NVARCHAR(128) NOT NULL,
	DateOfBirth DATE
);

CREATE TABLE Team
(
	TeamId INT IDENTITY PRIMARY KEY,
	GroupName NVARCHAR(128) NOT NULL
);

CREATE TABLE TeamMember
(
	TeamMemberId INT IDENTITY PRIMARY KEY,
TeamMemberName NVARCHAR(128),
	MemberId INT REFERENCES Member (MemberId),
	TeamId INT REFERENCES Team (TeamId),
	TeamPoint DECIMAL(5,2) CHECK (TeamPoint >= 0.00 AND TeamPoint <= 100.00)
	CONSTRAINT [UQ_TeamMembers] UNIQUE CLUSTERED
	(
		MemberId, TeamId
	)
);

  • テーブルを作成します。
    image.png

SQL Serverコネクタを利用する場合

SQL Serverコネクターを利用してAzure SQL Databaseを使う場合。

  • make.powerapps.comからSQL Serverコネクタを利用してAzure SQL Serverへ接続します。
    image.png

  • 外部データを選択を選択します。
    image.png

  • Authentication typeAzure AD Integratedを選択します。
    image.png

  • Azure SQL ServerのDatabaseを選択して先ほど作成したテーブルMemberを選択します。
    image.png

  • テーブルMemberを閲覧、編集、削除できるアプリが作成されます。
    image.png

仮想テーブルを利用する場合

仮想テーブルを利用する場合は、Dataverseを経由してAzure SQL Serverへ接続します。

  • 仮想テーブルを作成を選択します。
    image.png
  • SQL Serverコネクタを選択します。
    image.png
  • Azure SQL Serverを入力します。
    image.png
  • テーブルMemberを選択します。
    image.png
  • 自動的にマッピング情報が生成されます。
    image.png
  • DataverseのテーブルMemberが作成されました。実体はAzure SQL DatabaseのテーブルMemberになります。通常のDataverseのテーブルと同様に利用できます。
    例えば、Dataverseの通常テーブルへ仮想テーブルの検索列を追加すれば2つのデータベースを連携することもできます。

image.png

注意点としては仮想テーブルを利用する場合、テーブルに文字列型のカラムが1つ以上ないとプライマリーフィールドが設定できないエラーが表示されます。

image.png

上記の方法で、Azure SQL Databaseを使ったPower Platformが利用できるようになります。

Azure SQL DatabaseであればAzureを利用して大量データのバッチ処理も作成することができるため、Dataverseのプラグインが2分以上実行できない問題も回避しやすくなります。

一方、Dataverseであれば標準で利用できる、行レベルによるアクセス制御、列レベルのセキュリティルール設定などが利用できなくなります。

DataverseとAzure SQL Databaseを組み合わせて、お互いのメリットを利用するのがいいのではないかと思います。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0