接続文字列のプロパティ

適用対象: SQL Server Analysis Services Azure Analysis Services Power BI Premium

この記事では、Azure Analysis Services (Azure AS)、SQL Server Analysis Services (SSAS)、およびPower BI Premium データセット データに接続してクエリを実行するクライアント アプリケーションで使用される接続文字列プロパティについて説明します。 これらのプロパティは、Analysis Services 用の Analysis Services クライアント ライブラリ、ADOMD.NET、AMO、および OLE DB (MSOLAP) プロバイダーによって使用されます。 接続文字列プロパティの大部分は、3 つすべてのクライアント ライブラリで使用できます。 例外については、説明に記載しています。

左側の目次の上にある バージョン セレクターを使用して、特定のプラットフォームまたはバージョンに適用されるプロパティのみを表示します。

接続のプロパティ

Data Source

サーバー インスタンスを指定します。 このプロパティは、すべての接続に必要です。

Azure Analysis Servicesの有効な値には、プロトコルが文字列asazureである場合やlinkサーバー名のエイリアスを使用する場合、リージョンはサーバーが作成された URI (westus.asazure.windows.net など) が含<protocol>://<region>/<servername>まれ、サーバー名はリージョン内の一意のサーバーの名前です。

説明
Data source=asazure://westus.asazure.windows.net/myasserver Azure Analysis Services。
Data source=link://friendlyname.salesapp.azurewebsites.net/ サーバー名のエイリアスを使用してAzure Analysis Servicesします。

Power BI Premiumの有効な値には、プロトコルが文字列powerbi、Uri がapi.powerbi.com、テナント名が組織のテナント名、またはmyorgワークスペース名が専用容量に割り当てられているワークスペースの名前が含まれます<protocol>://api.powerbi.com/v1.0/[tenant name]/[workspace name]

説明
Data source=powerbi://api.powerbi.com/v1.0/contoso.com/Sales Workspace ワークスペースPower BI Premiumします。

SQL Server Analysis Servicesの有効な値には、サーバーのネットワーク名または IP アドレス、ローカル接続のローカルまたは localhost、サーバーが HTTP または HTTPS アクセス用に構成されている場合の URL、またはローカル キューブ (.cub) ファイルの名前が含まれます。

説明
Data source=AW-SRV01 SSAS の既定のインスタンスとポート (TCP 2383)。
Data source=AW-SRV01\Finance SSAS 名前付きインスタンス。
Data source=AW-SRV01:8081 SSAS の既定のインスタンス、指定されたポート。
Data source=AW-SRV01.corp.Adventure-Works.com SSAS 完全修飾ドメイン名、既定のインスタンス、ポート。
Data source=172.16.254.1 DNS サーバーの参照をバイパスする、サーバーの SSAS IP アドレス。 接続の問題のトラブルシューティングに役立ちます。
プロバイダー

このプロパティは、MSOLAP などの OLE DB プロバイダーを使用する場合、接続文字列で必要です。 "Provider=MSOLAP" のようなバージョンに依存しないプロバイダー (通常は最新) を使用することも、"Provider=MSOLAP.7" などのバージョン依存プロバイダーを指定することもできます。 有効なバージョン依存値は、MSOLAP パターンに従います。<version>( <バージョン> は 7 または 8)。 たとえば、SQL SERVER 2016 でリリースされた MSOLAP.7 などです。 バージョン ".8" は最新であり、"エバーグリーン" と見なされます。 下位互換性が維持された状態で更新を続ける必要があります。 以前のバージョン番号も可能ですが、MSOLAP のこれらのリリースは標準サポート対象外になりました。

このプロパティは、ADOMD.NET および AMO では省略可能です。 MSOLAP 接続文字列をコピーして、ADOMD.NET および AMO で使用する場合は、便宜上使用できます。

説明
Provider=MSOLAP.7 2016 バージョンの OLE DB プロバイダー for Analysis Services SQL Server必要な接続。
キューブ

キューブ名またはパースペクティブ名。 データベースには、複数のキューブおよびパースペクティブを含めることができます。 複数の対象が考えられる場合は、接続文字列にキューブ名またはパースペクティブ名を含めます。

説明
Cube=Sales Sales という名前のキューブ。
Cube=SalesPerspective SalesPerspective という名前のパースペクティブ。

認証とセキュリティのプロパティ

Azure Active Directoryを使用するAzure Analysis ServicesとPower BI Premium - MFA を使用したユニバーサル (推奨)、ユーザー名とパスワードによる認証のAzure Active Directory、Azure Active Directory アクセス トークン、またはWindows 認証。

SQL Server Analysis ServicesはWindows 認証のみを使用しますが、接続文字列のプロパティを設定して、特定のユーザー名とパスワードを渡すことができます。

プロパティは、アルファベット順に示しています。

EffectiveUserName

サーバーでユーザー ID を偽装する必要がある場合に使用します。 SSAS の場合は、ドメイン/ユーザー形式で指定します。 Azure AS とPower BI Premiumの場合は、UPN 形式で指定します。 このプロパティを使用するには、呼び出し元に Analysis Services に対する管理権限が必要です。 Power BI Premiumでは、呼び出し元はデータセットが配置されているワークスペース管理者である必要があります。

CustomData

接続文字列内のエンジンに渡され、CustomData() MDX 関数または CUSTOMDATA() DAX 関数を使用して取得される文字列値。 ユーザー ID またはユーザー名を値として渡し、セキュリティ式の定義でその値を指定するために最もよく使用されます。

Encrypt Password

ローカル キューブを暗号化するためにローカル パスワードを使用するかどうかを指定します。 有効な値は True または False です。 既定値は False です。

Encryption Password

暗号化されたローカル キューブの暗号化を解除するために使用するパスワード。 既定値は空です。 この値は、ユーザーが明示的に設定する必要があります。

Impersonation Level

サーバーがクライアントの権限を借用するときに使用できる権限借用レベルを示します。 有効な値は、次のとおりです。

  • 匿名。 クライアントはサーバーに対して匿名です。 サーバー プロセスではクライアントに関する情報を取得できず、クライアントの権限を借用できません。
  • 識別します。 サーバー プロセスではクライアント ID を取得できます。 また、サーバーでは承認のためにクライアント ID の権限を借用できますが、クライアントとしてシステム オブジェクトにアクセスすることはできません。
  • 権限を借用します。 これが既定値です。 クライアント ID の権限を借用できますが、接続を確立する場合に限られ、すべての呼び出しで借用できるわけではありません。
  • デリゲート。 サーバー プロセスでは、クライアントに代わって機能を実行するときに、クライアントのセキュリティ コンテキストの権限を借用できます。 また、他のサーバーに対する呼び出しを送信することもできます。
Integrated Security

Analysis Services に接続するために使用する呼び出し元の Windows ID。 有効な値は 、SSPIblankBasicClaimsToken* です。

SSPI は TCP 接続の既定値であり、NTLM、Kerberos、または匿名認証を許可します。 Azure AS および Power BI Premium SSPI の場合、AD 翻訳を示します。 SSPI を使用する場合は、ProtectionLevel プロパティを Connect、Pkt Integrity、または Pkt Privacy に設定する必要があります。

blank は HTTP 接続の既定値です。

*ClaimsToken は、Azure AS とPower BI Premiumでサポートされています。

Persist Security Info

有効な値は True または False です。 True に設定した場合、以前に接続文字列に指定したユーザー ID やパスワードなどのセキュリティ情報を接続の確立後に接続から取得できます。 既定値は False です。

保護レベル

接続で使用するセキュリティ レベルを指定します。 サポートされる値は、基になるトランスポートによって異なります。 有効な値は次のとおりです。

  • なし。 未認証の接続または匿名接続。 サーバーに送信されるデータの認証は行われません。
  • Connect。 認証された接続。 クライアントがサーバーとのリレーションシップを確立するときにのみ認証が行われます。
  • パケット整合性。 暗号化された接続。 すべてのデータが正しいクライアントから受信されていること、および転送中に変更されていないことが確認されます。
  • パケット プライバシー。 署名付き暗号化。TCP でのみサポートされます。 すべてのデータが正しいクライアントから受信されていること、および転送中に変更されておらず、暗号化することでデータのプライバシーが保護されていることが確認されます。

詳細については、「ADOMD.NET でのセキュリティで保護された接続の確立」を参照してください。

ロール

定義済みロールのコンマ区切りの一覧を指定します。そのロールによって与えられる権限を使用して、サーバーまたはデータベースに接続します。 このプロパティを省略した場合、すべてのロールを使用し、有効な権限はすべてのロールの組み合わせになります。 たとえば、プロパティを空の値に設定すると、 Roles=' ' クライアント接続にロール メンバーシップがないことを意味します。

このプロパティを使用した管理者は、ロールによって与えられた権限を使用して接続します。 ロールによって与えられた権限が十分でない場合、コマンドが失敗することがあります。

SSPI

Integrated SecuritySSPIに設定されているときにクライアント認証に使用するセキュリティ パッケージを明示的に指定します。 SSPI では複数のパッケージがサポートされていますが、このプロパティを使用すると特定のパッケージを指定できます。 有効な値は次のとおりです。

  • ネゴシエート
  • Kerberos
  • [NTLM]
  • 匿名ユーザー

このプロパティを設定しない場合、接続ですべてのパッケージを使用できます。

Use Encryption for Data

データ転送を暗号化します。 有効な値は True または False です

User ID=...;Password=

クライアント アプリケーションの現在のアクティブ ユーザーをサーバーに自動的に反映できない場合は、ユーザー ID とパスワードのプロパティによってサーバーに適切な資格情報が提供されます。 動作は、トランスポート プロトコルと、接続先のサーバーによって異なります。

  • TCP 経由で SSAS に接続すると、クライアント ライブラリは、指定したユーザー名とパスワードを使用してWindows ユーザーを偽装し、通常どおりサーバーに接続します。
  • HTTP(S) 経由で SSAS に接続する場合、資格情報は、Web サーバーで構成された認証モード (基本認証やWindows認証など) に基づいて Web サーバーに提供されます。Web サーバーは、SSAS サーバーに接続する前に適切なWindows偽装を実行するため、サーバーに正しい資格情報フローを提供します。
  • Azure AS またはPower BI Premiumに接続する場合、ユーザー ID とパスワードを使用してAzure Active Directory (AAD) トークンを取得し、認証中にサービスに提示します。 AAD では、トークンを生成する前に追加のユーザー操作が必要になる可能性がある多要素認証 (MFA) が必要になる場合もあります。
  • 独自のアプリケーションから有効な AAD ベアラー アクセス トークンを既に取得している場合は、 User ID プロパティを省略し、アクセス トークンのみを Password プロパティに指定できます。 認証は、ユーザーに対して対話形式で取得されたベアラー トークンと、 OAuth 2.0 On-Behalf-Of フロー (たとえば、ユーザーの代わりに Analysis Services に接続する中間層 Web アプリケーション) を使用してサポートされます。 アクセス トークンを Password プロパティに渡すときは、トークンの種類を省略します。 Analysis Services クライアント ライブラリは、認証スキーム値 "Bearer" をアクセス トークンに自動的に追加します。

メモ: "ユーザー ID" にはスペースが埋め込まれています。 ユーザー ID の代替エイリアスは UID で、Password の代替エイリアスは PWD です

特殊な目的のプロパティ

これらのプロパティは、アプリケーションで必要な特定の接続動作を保証するために使用されます。 プロパティは、アルファベット順に示しています。

アプリケーション名

接続に関連付けられたアプリケーションの名前を設定します。 この値は、トレース イベントを監視する場合 (特に、同じデータベースにアクセスするアプリケーションが複数ある場合) に役立ちます。 たとえば、接続文字列に Application Name='test' を追加すると、SQL Server Profiler トレースに 'test' が表示されます。 このプロパティのエイリアスには、 SspropInitAppNameAppName が含まれます。 詳細については、「SQL Server接続のアプリケーション名」を参照してください。

自動同期期間

クライアントとサーバーのキャッシュを同期する頻度 (ミリ秒単位) を設定します。 ADOMD.NET には、最小限のメモリ オーバーヘッドが発生する、よく使用されるオブジェクトのために、クライアント キャッシュが用意されています。 これは、サーバーへのラウンド トリップを減らすのに役立ちます。 既定値は 10,000 ミリ秒 (10 秒) です。 null または 0 に設定した場合、自動同期は無効になります。

パフォーマンス上の理由から、クライアント ライブラリは、特定のスキーマ行セットなど、サーバーからの情報をキャッシュします。 自動同期期間を使用すると、キャッシュを空にする必要があるかどうかをクライアント ライブラリがサーバーで確認する期間をユーザーが変更できます。 一般に、値を既定値から変更する必要はありません。

Character Encoding

要求での文字をエンコードする方法を定義します。 有効な値は 、既定値 または UTF-8 (これらは同等)、 UTF-16 です

CommitTimeout

XMLA プロパティ。 現在実行中のコマンドのコミット フェーズがロールバックするまでに待機する時間をミリ秒数で指定します。 0 より大きいとき、サーバー構成の該当する CommitTimeout プロパティの値をオーバーライドします。

CompareCaseSensitiveStringFlags

指定されたロケールの大文字と小文字を区別する文字列の比較を調整します。

Compression Level

TransportCompression が圧縮されている場合は、圧縮レベルを設定して、使用する圧縮の量を制御できます。 有効な値は 0 ~ 9 で、0 は圧縮率が最も低く、9 が最も圧縮率が高くなります。 圧縮率を上げると、パフォーマンスが低下します。 既定値は 0 です。

Connect Timeout

クライアントがタイムアウトするまでに接続を試行する最大時間 (秒単位) を決定します。この期間内に接続が成功しない場合、クライアントは接続を終了し、エラーを生成します。

DbpropMsmdRequestMemoryLimit

接続の Memory\QueryMemoryLimit サーバー プロパティ値をオーバーライドします。

キロバイト単位で指定すると、このプロパティを使用すると、QueryMemoryLimit で許容される最大メモリ (パーセンテージとして指定) からクエリ中に使用されるメモリの量を 減らすことができます 。 QueryMemoryLimit で指定された最大許容メモリを超えて使用されるメモリの量を増やすことはできません。

既定の MDX ビジュアル モード

ディメンションのセキュリティを適用する場合に、メンバーを集計する方法を制御するには、このプロパティを設定します。

すべてのユーザーが表示できるキューブ データでは、合計に合算されるすべての値を表示できるため、すべてのメンバーを集計することは適切です。 ただし、ユーザー ID に基づいてディメンションをフィルター選択または制限している場合は、すべてのメンバーに基づいた合計を表示すると、制限されている値と許可されている値の両方が単一の合計に合算されるため、わかりにくくなることや、必要以上の情報が表示されることになります。

ディメンションのセキュリティを適用する場合に、メンバーを集計する方法を指定するには、このプロパティを True に設定して、集計に許可されている値のみを使用するか、False に設定して、制限されている値を合計から除外します。

接続文字列で設定した場合、この値はキューブ レベルまたはパースペクティブ レベルに適用されます。 モデル内では、より細かなレベルで表示部分の合計を制御できます。

有効な値は次のとおりです。

  • 既定値は 0 です。 現在、既定の動作は 2 と同じです。集計には、ユーザーに対して表示されない値が含まれます。
  • 1 は 、合計から非表示の値を除外します。 これは、Excel での既定値です。
  • 2 には、合計に非表示の値が含まれます。 これは、サーバーでの既定値です。

このプロパティのエイリアスは VisualMode です

MDX Compatibility

このプロパティの目的は、MDX クエリを発行するアプリケーションの MDX 動作の一貫性を確保することです。 Excel で MDX クエリを使用して、Analysis Services に接続されたピボットテーブルを設定および計算する場合は、このプロパティを 1 に設定し、不規則階層のプレースホルダー メンバーがピボットテーブルに表示されるようにします。 有効な値は、0、1、および 2 です。

0 および 1 では、プレースホルダー メンバーが公開されます。2 では、公開されません。 このプロパティが空の場合は、0 と見なされます。

MDX メンバー モードがありません

欠落したメンバーを MDX ステートメントで無視するかどうかを示します。 有効な値は 、既定値エラー無視です。 既定では、サーバーで定義されている値を使用します。 Error では、メンバーが存在しない場合、エラーが発生します。 Ignore では、欠落した値を無視するように指定します。

Optimize Response

次のどのクエリ応答の最適化を有効にするかを示すビットマスク。

  • 0x01 NormalTupleSet (既定値) を使用します。
  • 0x02 スライサーが空の場合に使用します。
Packet Size

TCP 接続にのみ適用されます。 ネットワーク パケットのバイト単位のサイズ (512 ~ 32,767)。 既定のネットワーク パケット サイズは 4,096 です。

Protocol Format

XMLA 通信プロトコルで使用される XML の形式を設定します。 有効な値は 、既定値XML、または バイナリです。 XML をバイナリ形式で送信するか、テキスト XML として送信するかを指定できます。 バイナリ形式では、XML 要素と属性をエンコードするため、サイズが小さくなります。 さらに、トランスポート圧縮オプションを使用して、メッセージの圧縮を有効にして、要求と応答のサイズを小さくすることもできます。 要求と応答では、クライアントとサーバーがサポートする内容に応じて、異なるプロトコル形式を使用できます。 たとえば、クライアント ライブラリでは、応答のバイナリのみをサポートできますが、要求の場合はサポートしない場合や、受信要求に対してサーバーでバイナリが無効になっている場合があります。

OLE DB プロバイダーでは、要求と応答をバイナリ形式または圧縮形式に変換できます。 AMO および ADOMD.NET では、要求をテキスト形式に変換しますが、バイナリ形式または圧縮形式の応答を受け入れます。

この接続文字列プロパティは、 EnableBinaryXML および EnableCompression サーバー構成設定と同じです。

Real Time Olap

キャッシュをバイパスするようにこのプロパティを設定すると、すべてのストレージ クエリがソース システムからデータをフェッチします。 既定では、このプロパティは設定されません。

Safety Options

ユーザー定義関数とユーザー定義アクションの安全性レベルを設定します。 有効な値は 012 です。 Excel接続では、このプロパティは Safety Options=2 です。 このオプションの詳細については、「 ConnectionString」をご覧ください。

SQLQueryMode

SQL クエリに計算を含めるかどうかを指定します。 有効な値は 、Data、Calculated、 IncludeEmpty です。 Data は、計算を許可しないことを示します。 Calculated では、計算を許可します。 IncludeEmpty では、クエリ結果で計算および空の行を返すことができます。

タイムアウト

エラーが発生するまでに、クライアント ライブラリがコマンドの完了を待機する時間 (秒単位) を指定します。

Transport Compression

クライアントとサーバーの通信を圧縮する方法を定義します。 有効な値は DefaultNoneCompressed です。 None は、圧縮が使用されていないことを示します。 圧縮では XPRESS 圧縮が使用されます。

UseExistingFile

ローカル キューブに接続する場合に使用します。 このプロパティでは、ローカル キューブを上書きするかどうかを指定します。 有効な値は True または False です。 True に設定した場合、キューブ ファイルが存在する必要があります。 既存のファイルが接続の対象となります。 False に設定した場合、キューブ ファイルが上書きされます。

こちらもご覧ください

AMO 基本クラス - サーバー オブジェクト
AdomdConnection クラス - プロパティ