SQL Server
まとめ
項目 | 説明 |
---|---|
リリース状態 | 一般提供 |
製品 | Excel Power BI (セマンティック モデル) Power BI (データフロー) ファブリック (データフロー Gen2) Power Apps (データフロー) Dynamics 365 Customer Insights Analysis Services |
サポートされている認証の種類 | データベース (ユーザー名/パスワード) Windows 組織アカウント (指定されたサーバーでサポートされている場合) |
M 関数リファレンス | Sql.Database Sql.Databases |
Note
デプロイ スケジュールにより、またホスト固有の機能があることにより、ある製品に存在する機能が他の製品にはない場合があります。
サポートされる機能
- インポート
- DirectQuery (Power BI セマンティック モデル)
- 高度なオプション
- 分単位のコマンド タイムアウト
- ネイティブ SQL ステートメント
- リレーションシップ列
- 階層全体を使ってナビゲートする
- SQL Server フェールオーバー サポート
Power Query Desktop から SQL Server データベースに接続する
接続するには、次の手順を実行します。
コネクタの選択で [SQL Server データベース] オプションを選択します。
表示される [SQL Server データベース] ダイアログで、サーバーとデータベース (省略可能) の名前を指定します。
[インポート] または [DirectQuery] のデータ接続モードを選択します (Power BI Desktop のみ)。
[OK] を選択します。
このデータベースに初めて接続する場合は、認証の種類を選択し、資格情報を入力して、認証設定を適用するレベルを選択します。 次に、 [接続](Connect) を選択します。
Note
接続が暗号化されていない場合は、次のダイアログが表示されます。
[OK] を選択して暗号化されていない接続を使用してデータベースに接続するか、次の手順に従って、SQL Server への暗号化された接続を設定します。 さらに、自己署名証明書を使用して SQL サーバーの暗号化が有効になっている場合は、この セクション を確認して、Power Query Desktop クライアントの信頼リストに SQL サーバーを追加します。
[ナビゲーター] で、目的のデータベース情報を選択し、[読み込み] を選択してデータを読み込むか、[データの変換] を選択して Power Query エディターでデータの変換を続行します。
Power Query Online から SQL Server データベースに接続する
接続するには、次の手順を実行します。
コネクタの選択で [SQL Server データベース] オプションを選択します。
表示される [SQL Server データベース] ダイアログで、サーバーとデータベース (省略可能) の名前を指定します。
SQL Server がオンラインでない場合は、オンプレミス データ ゲートウェイを選択します。 さらに、サーバー名でポートを使用する場合は、接続設定でサーバー名として
servername*
値を使用します。このデータベースに初めて接続する場合は、認証の種類を選択し、資格情報を入力します。
接続が暗号化されていないのに、接続ダイアログに [Use Encrypted Connection]\(暗号化された接続を使用する\) チェック ボックスが含まれている場合は、チェック ボックスをオフにします。
次へを選んで続行します。
[ナビゲーター] で、必要なデータを選択し、[データの変換] を選択します。
詳細オプションを使用して接続する
Power Query Desktop と Power Query Online のどちらにも、必要に応じてクエリに追加できる一連の詳細オプションが用意されています。 次の表に、Power Query Desktop と Power Query Online で設定できるすべての詳細オプションを示します。
詳細オプション | 説明 |
---|---|
分単位のコマンド タイムアウト | 接続が 10 分 (既定のタイムアウト) を超える場合は、別の値を分単位で入力して、より長い時間接続を維持できます。 このオプションは Power Query Desktop でのみ使用できます。 |
SQL ステートメント | 詳細については、「ネイティブ データベース クエリを使用してデータベースからデータをインポートする」を参照してください。 |
リレーションシップ列を含める | オンにした場合は、他のテーブルとのリレーションシップがある列が含められます。 このボックスをオフにすると、それらの列は表示できなくなります。 |
階層全体を使ってナビゲートする | オンにすると、接続しているデータベース内のテーブルの完全な階層がナビゲーターに表示されます。 オフにすると、ナビゲーターには、列と行にデータが含まれているテーブルのみが表示されます。 |
SQL Server フェールオーバー サポートを有効にする | オンにすると、SQL Server フェールオーバー グループ内のノードが使用不可の場合、フェールオーバーが発生すると Power Query はそのノードから別のものに移動されます。 オフにすると、フェールオーバーは発生しません。 |
必要な詳細オプションを選択したら、Power Query Desktop で [OK] を選択するか、または Power Query Online で [次へ] を選択して SQL Server データベースに接続します。
制限事項
SQL Server 証明書がクライアント (Power BI Desktop またはオンプレミス データ ゲートウェイ) で信頼されていない
オンプレミスのデータ ゲートウェイまたは Power BI Desktop を使用してオンプレミスの SQL Server への接続を確立し、SQL Server が自己署名証明書を利用する場合、ファブリック セマンティック モデルまたはデータフローの更新操作が次のエラー メッセージで失敗する可能性があります。
Microsoft SQL: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.)
オンプレミス データ ゲートウェイを使用する場合にこのエラーをトラブルシューティングするには、次の手順に従ってゲートウェイ構成を変更して SqlTrustedServers
設定を更新します。
オンプレミス データ ゲートウェイがインストールされているローカル コンピューターで、C:\Program Files\On-premises data gateway に移動します。
Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config という名前の構成ファイルのバックアップを作成します。
元の Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config 構成ファイルを開き、
SqlTrustedServers
エントリを見つけます。SqlTrustedServers
の値を、信頼して接続する SQL サーバーの名前で更新します。この値にはサーバー名のカンマ区切りのリストが含まれており、ワイルドカードとして * をサポートします。 たとえば、次の例では、
<setting name="SqlTrustedServers" serializeAs="String"> <value>contososql*,mysvr</value> </setting>
値
contososql*,mysvr
はcontososql6
、contososqlazure
、およびmysvr
に一致しますが、mysvr.microsoft.com
には一致しません。
Power BI Desktop の使用時にこのエラーをトラブルシューティングするには、環境変数 PBI_SQL_TRUSTED_SERVERS
の値を変更して SQL Server を含めます。 サポートされる値は、ゲートウェイ構成の概要と同じです (上記の手順 4 で説明)。
Power BI Desktop から SQL Server への接続と、2024 年 2 月以降のオンプレミス データ ゲートウェイ バージョンの場合は、次のいずれかのオプションに従います。
- 前に説明したソリューションに従って、環境変数
PBI_SQL_TRUSTED_SERVERS
を追加します。 - SQL 管理者に、既知の証明機関から証明書を取得するように依頼します。
- ゲートウェイ構成ファイルの設定
SqlTrustedServers
を変更します。
Always Encrypted 列
Power Query では、"Always Encrypted" 列はサポートされていません。
Microsoft Entra ID 認証
Microsoft Entra ID (組織アカウント) 認証は、指定されたサーバーが Microsoft Entra ID 認証もサポートしている場合にのみ、SQL Server コネクタでサポートされます。 そうしないと、「OAuth 認証方法はこのデータ ソースではサポートされていません」というエラーが発生する可能性があります。
Power BI サービスでは、Microsoft Entra ID 認証方法が "OAuth2" として表示されることに注意してください。