#PowerPlatform Dataverse へ SSMS から接続する手順

Microsoft Dataverse(以降 Dataverse／旧 CDS) へ SQL Server Management Studio（以降 SSMS）から接続できるんですよ。できるんです。

ただですなぁ。

久しぶりに接続しようとすると手順を忘れてるんですよね。
え？誰が？ → 当方が😂

なので、ここに手順をまとめておく次第です。
なお、Dataverse for Teams ではないのでご注意されたし。

# 前提条件

1. SSMS がインストールされていること(※バージョン 18.4 以降)
   [SQL Server Management Studio (SSMS) のダウンロード](https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?WT.mc_id=BA-MVP-5004053)

2. Dataverse が利用可能な“環境”を有していること
3. Power Platform 管理センターへアクセス可能なユーザー権限を有していること
4. Power Platform 管理センターで SSMS 接続が可能な状態になっていること(※この後で補足)

■参考URL
[SQL を使用してデータを照会する (プレビュー)](https://docs.microsoft.com/ja-jp/powerapps/developer/data-platform/dataverse-sql-query?view=dynamics-xrmtooling-ce-9)

# Power Platform 管理センター で必要な設定(補足)
前述、項目4について補足。[Docs で説明されている](https://docs.microsoft.com/ja-jp/powerapps/developer/data-platform/dataverse-sql-query?view=dynamics-xrmtooling-ce-9&WT.mc_id=BA-MVP-5004053&WT.mc_id=BA-MVP-5004053#power-apps) んですよ。

・スクリーンショット
![スクリーンショット 2021-03-06 135737.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/7a54a2b7-806c-7eb8-009b-8fd63220e7ee.png)

うむ、わからんｗ
加えて、画面が変わっているので導線も説明とチョッと違う。
※ Ignite 2021 で管理機能の強化がアナウンスされていましたので、おそらく近い将来また変わる可能性アリ

安心してください。手順を説明します。（記事投稿時点の状態で、ですがｗ）

## 手順
1. Power Platform 管理センター(https://admin.powerplatform.microsoft.com/) で対象の環境を選択 → 「設定」をクリック
![図0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/d1edbdb2-24a4-6f4d-c665-c75310c3661d.png)

2. 設定画面の[製品]を展開 → 「機能」をクリック
   ![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/b48db0f2-c137-0020-8d44-e3af3f3ef349.png)   

3. 機能画面の右下[TDS エンドポイント]を ”オン” にして「保存」クリック
![図2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/c94bfea6-db21-4c8b-e9ee-c3496eb0d030.png)

この設定が未実施の場合、Dataverse 側が接続を受け付けられません。ご利用中のユーザーに権限が不足している場合は、全体管理者、またはPower Platform 管理者権限を保有している方にご相談ください。

■参考URL
[機能設定の管理](https://docs.microsoft.com/ja-jp/power-platform/admin/settings-features?WT.mc_id=BA-MVP-5004053)

# SSMS から Dataverse へ接続する
準備ができたら SSMS から接続してみましょう。
なお、記事投稿時点で Dataverse への接続は読み取り専用（ReadOnly）です。

1．接続したい Dataverse がある環境の[環境URL]をコピー
![図3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/2ec44ad0-68a9-ff65-f089-75923617dcd5.png)
  ※よく「あれ？どこだっけ」ってなる（主に自分が）
  ※”URLのコピー”ではなくて、表示されている文字列そのままをコピーしておきましょう

2．SSMS を起動して接続情報を設定
   ![図4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/c1d56f72-6f33-552a-957f-c6dd08813b93.png)

| No. | 項目               | 設定値                   |
|-----|------------------|-----------------------|
| 1   | サーバーの種類          | データベースエンジン            |
| 2   | サーバー名            | 上記手順でコピーした環境URL       |
| 3   | 認証               | ご利用中のテナント設定に合わせて選択    |
| 4   | 認証情報(ユーザー/パスワード) | 上記No.3の認証に依存して切り替わります |

上記 No.3 の選択肢を参考までに。
![図6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/bc7db327-7f86-7821-c12a-093c2ef0bb46.png)
なお、Dataverse は「Windows 認証」と「SQL Server認証」での接続はできません。

3．接続できれば完了！
![図5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/8e35c899-699c-c69a-b4d4-e381248aedc5.png)

後は、SQLDB 等を利用するのと同様に、テーブル展開して上位ｎ件取得などが可能になります。便利♪
(´ω`)。○○（この SQL Server の Ver がもしかして…なのかなぁ？）

■余談
SSMS 重たいんですよね。スペック低いマシンをご利用の場合は大らかな心が必要にになる可能性があります。たぶん。

# まとめ
- Dataverse へ SSMS から接続する場合は“環境”側の事前準備必須
- [環境URL]で接続する
- 認証はテナントの設定に依存
- Dataverse への SSMS 接続は現状読み取り専用

1回やれば覚えられると思います。
認証部分に関しては、ご利用中のテナント設定に依存します。各自で試してください。

そして暫く触ってないと忘れると思います。そう、当方のようにｗ
そんな貴方と当方の救いになれば幸いです。

それでは、皆さま。素晴らしい Power Platform Life を！