SQL Server 接続の構成

DRDA サービスは、SQL Server用の ADO.NET フレームワーク プロバイダーを使用して、アップストリームのローカルまたはリモートのSQL Server データベースと通信します。 基になる SQL クライアント アクセスは、メモリ内接続を介して、または名前付きパイプまたは TCP/IP を使用してネットワーク経由でSQL Server。 SQL クライアントでは、オプションの暗号化とフェールオーバー機能がサポートされ、セキュリティと信頼性が向上します。 DRDA サービスでは、オプションのシングル サインオンとプール機能がサポートされ、セキュリティとパフォーマンスが向上します。 MsDrdaService.exe.config ファイルを編集して、接続をSQL Serverする SQL クライアントを管理する方法について DRDA サービスに指示できます。

ネットワーク

DRDA サービスは、Microsoft ADO.NET Framework Provider for SQL Server および基になる SQL クライアントを介して SQL Server に接続されます。 MsDrdaService.exe.config ファイルの database 要素には、アウトバウンド SQL クライアント接続を管理するためのネットワーク設定が含まれています。 データベースの種類は Microsoft.HostIntegration.Drda.RDB.SqlDatabase です。これは、アウトバウンド SQL クライアント接続のネットワーク設定を定義します。

Connection String

connectionString 属性は、MICROSOFT ADO.NET Framework Data Provider for SQL Server connection オブジェクトを定義する際に DRDA サービスが使用する引数の名前と値のペアの一覧SQL Server定義します。 この 必須 属性は 、文字列 値を受け入れます。 既定値は Data Source=localhost です。統合セキュリティ=true;MultipleActiveResultSets=true

Item 説明
アプリケーション名 Application Name プロパティは、接続に関連付けるアプリケーションの名前を SQL クライアントに指示します。 この 省略可能な プロパティは 、文字列 値を受け入れます。 既定値は空の文字列です。
Connect Timeout Connect Timeout プロパティは、試行を終了してエラーを生成する前に、サーバーへの接続を待機する時間 (秒単位) を SQL クライアントに指示します。

この 省略可能な プロパティ は整数値を 受け取ります。 有効な値は 0 以上で、2147483647 以下です。既定値は 15 秒です。
データソース Data Source プロパティは、TCP/IP または名前付きパイプを使用して接続するSQL Serverのインスタンスの名前またはネットワーク アドレスを定義します。 この 必須 プロパティは 、文字列 値を受け入れます。 既定値は空の文字列です。

TCP/IP の場合、書式設定された値は "tcp:" プレフィックスで始まり、その後に IPv4 または IPv6 形式の TCP/IP エイリアスまたはアドレスが続き、バックスラッシュで区切られたSQL Serverインスタンス名またはコンマ区切りの TCP/IP ポート番号が続きます。

- tcp:<host name>\<instance name>
- tcp:<host name,TCP></IP ポート番号>

名前付きパイプの場合、書式設定された値は "np:" プレフィックスで始まり、その後にホスト名と名前付きパイプ名が続きます。

- np:\\<host name>\pipe\<pipe name>
暗号化 Encrypt プロパティは、SECURE Sockets Layer (SSL) を使用して SQL クライアントとSQL Server間で送信されるすべてのデータを暗号化するように SQL クライアントに指示します。 この 省略可能な プロパティは、true、false、yes、および no のブール値を 受け取ります 。 既定値は false です。
Failover Partner フェールオーバー パートナー プロパティは、データベース ミラーリングが構成されているSQL Serverの名前を SQL クライアントに通知します。 この 省略可能な プロパティは 、文字列 値を受け入れます。 既定値は空の文字列です。
Initial Catalog 初期カタログ プロパティは、接続するデータベースを SQL クライアントに指示します。 この 省略可能な プロパティは、最大 128 文字の 文字列 値を受け入れます。 既定値は空の文字列です。
Integrated Security 統合セキュリティ プロパティは、セキュリティ サポート プロバイダー インターフェイス (SSPI) を介して Windows 認証を使用してSQL Serverに接続するように SQL クライアントに指示します。 この 省略可能な プロパティは、true、false、yes、および no の ブール 値を受け取ります。 既定値は false です。

このプロパティ値が true または yes の場合、DRDA サービスは Windows 認証を使用してSQL Serverに接続します。

- 接続資格情報は、実行中の MsDrdaService.exe (コマンド ラインから実行されている場合はサービス アカウントまたはログイン ユーザー) から派生します。
- 接続資格情報は、個別の関連アプリケーション引数が値で指定されている場合、Enterprise Single Sign-On サービスから派生します。 詳細については、関連アプリケーションに関するトピックを参照してください。

このプロパティ値が false または no の場合、DRDA サービスは SQL Server 認証を使用してSQL Serverに接続します。

- 接続資格情報は、ConnectionString の [ユーザー ID] 引数と [パスワード] 引数から派生します。
- 接続資格情報は、ユーザー ID とパスワードの引数が存在しない場合に、DRDA アプリケーションリクエスター データ クライアントから派生します。 メモ: Windows によって開始される Enterprise Single Sign-On およびマップされた認証ドメイン機能を使用する場合は、false を指定する必要があります。
Max Pool Size [最大プール サイズ] プロパティは、SQL クライアントが接続プールに保持する必要がある接続の最大数を定義します。 この 省略可能な プロパティ は整数値を 受け取ります。 既定値は 100 です。
MultipleActiveResultSets MultipleActiveResultSets プロパティは、開いているサーバー カーソル オブジェクトを含む複数のアクティブな結果セット (MARS) を複数維持するようにSQL Serverに指示します。 この 必須 プロパティは、true、false、yes、および no の ブール 値を受け取ります。 既定値は true です。 メモ: DRDA サービスでは、静的 SQL CURSOR WITH HOLD ステートメントによって作成されたサーバー カーソルを MARS でサポートする必要があります。
Network Library ネットワーク ライブラリ プロパティは、共有メモリまたは TCP/IP を使用してSQL Serverに接続するように SQL クライアントに指示します。 この 省略可能な プロパティは、dbmslpcn (共有メモリ)、dbnmpntw (名前付きパイプ)、または dbmssocn (TCP/IP) の 文字列 値を受け取ります。 既定値は dbmslpcn です
Packet Size Packet Size プロパティは、SQL クライアントが SQL Server のインスタンスとの通信に使用するネットワーク パケットのサイズをバイト単位で定義します。 この 省略可能な プロパティは、512 から 32676 の 整数値 を受け取ります。 既定値は 8192 です
パスワード Password プロパティは、SQL クライアントが認証SQL Server使用する場合のログイン パスワードの値を定義します。 この 省略可能な プロパティは、最大 128 文字の 文字列 値を受け入れます。 既定値は空の文字列です。
Pooling Pooling プロパティは、DRDA サービスによって閉じられたときに、新しく作成された接続をプールに追加するように SQL クライアントに指示します。 次に、同じ接続文字列プロパティ値を持つ同じ接続を開こうとすると、その接続がプールから描画されます。 この 省略可能な プロパティは、true、false、yes、および no の ブール 値を受け取ります。 既定値は false です。
TrustServerCertificate TrustServerCertificate は、信頼を検証するために証明書チェーンをバイパスするときにチャネルを暗号化するように SQL クライアントに指示します。 この 省略可能な プロパティは、true、false、yes、および no の ブール 値を受け取ります。 既定値は false です。
User ID ユーザー ID プロパティは、SQL クライアントが SQL Server 認証を使用する場合のログイン ユーザー ID の値を定義します。 この 省略可能な プロパティは、最大 128 文字の 文字列 値を受け入れます。 既定値は空の文字列です。
[ワークステーション ID] Workstation ID プロパティは、SQL Serverに接続するときのワークステーションの名前を定義します。 この 省略可能な プロパティは、最大 128 文字の 文字列 値を受け入れます。 既定値は空の文字列です。

DRDA サービスでは、これらの SqlClient 接続文字列引数の名前と値がサポートされています。

詳細については、「https://msdn.microsoft.com/library/system.data.sqlclient.sqlconnection.connectionstring.aspx」を参照してください。

[クライアント アプリケーション名]

clientApplicationName 属性は、SQL クライアント アプリケーション名の接続プロパティを設定する方法を DRDA サービスに指示します。 この省略可能な属性は、文字列値を受け付けます。 既定値は externalName です。これは、DRDA AR クライアント プログラムのジョブ、タスク、またはプロセスの名前を表す DRDA 外部名 (EXTNAM) です。 必要に応じて、 transactionIdentifier の値を指定します。これは、Z/OS 用 CICS で実行する場合に DRDA AR クライアント プログラムのトランザクション識別子の名前を表す EXTNAM のバイト 5 から 8 です。

ストアド プロシージャの CALL タイムアウト

storedProcedureCallTimeout 属性は、試行を終了してエラーを生成する前に、SQL SERVERがストアド プロシージャを実行するために CALL ステートメントを処理するまでの時間 (秒単位) を DRDA サービスに指示します。 この 省略可能な 属性 は整数値を 受け入れます。 有効な値は 0 以上で、2147483647以下です。 値 0 は制限がないことを示します (コマンドを実行しようとすると無期限に待機します)。 既定値は 30 秒です。

Note

このタイムアウト値は、コマンドの実行中または結果の処理中のすべてのネットワーク読み取りの累積タイムアウトです。 タイムアウトは、最初の行が返された後も発生する可能性があり、ユーザーの処理時間は含まず、ネットワーク読み取り時間のみが含まれます。

SQL アプリケーション

MsDrdaService.exe.config ファイルの sqlApplicationManager 要素には、アウトバウンド SQL クライアント接続を管理するためのアプリケーション設定が含まれています。 sqlApplicationManager 型は、Microsoft.HostIntegration.Drda.Server.SqlApplicationManager で、アウトバインドされた SQL クライアント接続を処理します。

エラー時のトランザクションのロールバック

rollbackTransactionOnError 属性は、データベース エラーが負のSQL Serverに続いて ROLLBACK を実行するように DRDA サービスに指示します。 この 省略可能な 属性は、 ブール 値を受け入れます。 既定値は true です。

Note

この値を false に設定すると、DB2 for z/OS に接続されているカスタム・プログラムとの互換性が得られます。 ただし、この値を false に設定すると、IBM DB2 Connect JDBC Driver などの標準のオープン プラットフォーム (ODBC など) DRDA アプリケーションリクエスター クライアントとの互換性が損なわれる可能性があります。

セキュリティ

DRDA サービスは、バインドされた TCP/IP ネットワーク接続の認証を処理します。 DRDA サービスでは、オプションの暗号化とシングル サインオン機能がサポートされ、セキュリティとパフォーマンスが向上します。 MsDrdaService.exe.config ファイルの securityManager 要素には、バインドされた DRDA クライアント接続を管理するためのセキュリティ設定が含まれています。 securityManager の種類は Microsoft.HostIntegration.Drda.Server.SecurityManager です。これは、バインドされた TCP/IP ネットワーク接続の認証を処理します。

ESSO Host-Initiated 関連アプリケーション

hostInitiatedAffiliateApplication 属性は、SQL クライアントが Windows 認証を使用する場合に、バインドされた DRDA AR クライアント資格情報を Windows Active Directory ドメイン ユーザーにマップするために、DRDA サービスが Microsoft Enterprise Single Sign-On で使用する必要がある関連アプリケーション名を定義します。 この 省略可能な プロパティは 、文字列 値を受け入れます。 既定値は 空の文字列です。これは、ホストによって開始される ESSO を使用しないように DRDA サービスに指示します。

Note

ホストによって開始される ESSO を使用する場合は、SQL Server 接続文字列で Integrated Security=true を指定する必要があります。

関連アプリケーションは、ホスト、バックエンド・システム、IBM DB2 データベース・クライアントなどのシステムまたはサブシステムを表す論理エンティティです。 SSO 関連アプリケーション名については、SSO 管理者に問い合わせてください。

ESSO Windows-Initiated 関連アプリケーション

windowsInitiatedAffiliateApplication 属性は、MICROSOFT Enterprise Single Sign-On で DRDA サービスが使用する関連アプリケーション名を定義し、SQL クライアントが SQL Server 認証を使用する場合に、Windows Active Directory ドメイン ユーザーをアウトバインド SQL クライアント資格情報にマップします。 この 省略可能な プロパティは 、文字列 値を受け入れます。 既定値は 空の文字列です。これは、Windows によって開始された ESSO を使用しないように DRDA サービスに指示します。

必要に応じて、 isRdbName の値を指定して、ACCRDB (Access Relational Database) プロトコル フローでバインドされた RDBNAM (リレーショナル データベース名) を Windows-Initiated 関連アプリケーション名として使用するように DRDA サービスに指示します。 Windows によって開始される ESSO 関連アプリケーションを定義する場合は、3 番目のフィールド ("ConnectionString") を作成する必要があります。 資格情報マッピングは、引数の値ペア (Initial Catalog=<SQL_Server_Database_Name>) を ConnectionString フィールドに含む必要があります。 資格情報マッピングには、パスワード フィールド (MS$SAME) のプレースホルダーが含まれている場合があります。

Note

Windows によって開始される ESSO を使用する場合は、SQL Server 接続文字列で Integrated Security=true を指定する必要があります。

関連アプリケーションは、ホスト、バックエンド・システム、IBM DB2 データベース・クライアントなどのシステムまたはサブシステムを表す論理エンティティです。 SSO 関連アプリケーション名については、SSO 管理者に問い合わせてください。

セキュリティ トークンのタイムアウト

DRDA サービスは、Microsoft Enterprise Single Sign-On およびマップされた認証ドメイン機能から取得したセキュリティ トークンを、構成された期間キャッシュします。これは、統合セキュリティ サポート プロバイダー インターフェイス (SSPI) を使用してWindows 認証用に構成されたSQL Serverに接続するときに使用します。

securityTokenTimeout 属性は、一定期間セキュリティ トークンを保持するように DRDA サーバーに指示し、その後、新しい Windows クライアント識別子 (CID) を取得します。 この 省略可能な 属性は、 期間 の値を受け入れます。 既定値は PT8H です (期間は 8 時間です)。 期間の値は、PnYnMnDTnHnMnS という形式で指定されます。

Item 説明
P 期間の期間 (必須)
ニューヨーク 年数。
Nm 月数。
Nd 日数。
T 時間セクションの開始 (時間、分、または秒で構成される期間を指定するために必要)。
Nh 時間数。
Nm 分数。
S 秒数。

XML 形式で表される時間の長さ。

マップされた認証

mappedAuthenticationDomain 属性は、統合セキュリティ サポート プロバイダー インターフェイス (SSPI) を使用してWindows 認証用に構成されたSQL Serverに接続するときに、Microsoft Windows Active Directory ドメインがバインドされた DRDA クライアント資格情報 (ユーザー名とパスワード) をマップするように DRDA サービスに指示しますが、Microsoft Enterprise シングル サインオンを使用する場合は指示しません。 この省略可能な属性は、文字列値を受け付けます。 既定値は空の文字列です。

Note

マップ認証ドメイン のセキュリティ認証には、次の追加構成が必要です。

SQL Server データベース接続

SQL Server 接続文字列の統合セキュリティ引数は、値 true に設定する必要があります。

MsDrdaService.exe.config ファイルのデータベース要素内の hostInitiatedAffiliateApplication 属性は、空の文字列の値に設定する必要があります。 マップされた認証ドメインセキュリティ認証では、ホストによって開始された ESSO を同時に利用することはできません。

DRDA サービス アカウントのWindows セキュリティ

MsDrdaService.exe は、ドメイン ユーザー アカウント (Domain\User) のコンテキストで実行する必要があります。

サービス アカウントは、HIS Administrators と HIS Runtime Users ローカル グループのメンバーである必要があります。

ローカル セキュリティ ポリシー

サービス アカウントでは、次のローカル セキュリティ ポリシー設定をサービスとして実行する必要があります。

  • サービス アカウントには、サービスとしてログオンする必要があります。

  • サービス アカウントには、"オペレーティング システムの一部として機能する" が必要です。

  • サービス アカウントには、"資格情報マネージャーに信頼された呼び出し側としてアクセス" が必要です。

  • サービス アカウントには、"コンピューターとユーザー アカウントに委任時の信頼を付与" が必要です。

DB2 for z/OS 接続データベース (CDB)
テーブル [値] 説明
SYSIBM。IPNAMES SECURITY_OUT P 値 "P" は、承認識別子を持つパスワードを示します。
SYSIBM。IPNAMES Usernames O 値 "O" は、SYSIBM からの送信識別子を示します。USERNAMES テーブル。
SYSIBM。Usernames TYPE O 値 "O" は、送信変換を示します。
SYSIBM。Usernames AUTHID <string> 文字列値は、Windows Active Directory ドメイン ユーザー名です。
SYSIBM。Usernames PASSWORD <string> 文字列値は、Windows Active Directory ドメイン パスワードです。

マップ認証ドメイン・セキュリティー認証をサポートするために必要な DB2 for z/OS 接続データベース設定。

認証参照のタイムアウト

authenticationLookupTimeout 属性は、失敗するまでのセキュリティ認証参照要求を待機する時間を DRDA サーバーに指示します。 この 省略可能な 属性は、 期間 の値を受け入れます。 既定値は PT30S です (期間は 30 秒です)。 期間の値は、PnYnMnDTnHnMnS という形式で指定されます。

Item 説明
P 期間の期間 (必須)
ニューヨーク 年数。
Nm 月数。
Nd 日数。
T 時間セクションの開始 (時間、分、または秒で構成される期間を指定するために必要)。
Nh 時間数。
Nm 分数。
S 秒数。

XML 形式で表される時間の長さ。

認証参照の再試行

authenticationLookupRetries 属性は、失敗する前にセキュリティ認証参照要求を試行する回数を DRDA サーバーに指示します。 この 省略可能な 属性 は整数値を 受け入れます。 既定値は 3 回の再試行です。

SET ステートメント

DRDA サービスは、Microsoft ADO.NET Framework Provider for SQL Server および基になる SQL クライアントを介して SQL Server に接続されます。 sqlSetMsDrdaService.exe.config ファイルの 要素には、特定の情報の現在のセッション処理を変更するために、DRDA Server が各SQL Server接続に対して発行する SET ステートメントが含まれています。

[SET ARITHABORT]

属性はarithAbort、接続時に SET ARITHABORT ステートメントを発行し、クエリの実行中にオーバーフローまたは 0 除算エラーが発生したときにクエリを終了するようにSQL Serverを要求するように DRDA サーバーに指示します。 この属性は optional 値を string 受け入れます。 既定値は ON です。