Share via


設定 SQL Server 連線

DRDA 服務會使用 ADO.NET Framework Provider for SQL Server,與上游本機或遠端SQL Server資料庫通訊。 基礎 SQL 用戶端存取SQL Server透過記憶體內部連線,或使用具名管道或 TCP/IP 透過網路存取。 SQL 用戶端支援選擇性加密和容錯移轉功能,以改善安全性和可靠性。 DRDA 服務支援選擇性單一登入和共用功能,以改善安全性和效能。 您可以編輯 MsDrdaService.exe.config 檔案,以指示 DRDA 服務如何管理 SQL 用戶端以SQL Server連線。

網路

DRDA 服務會透過 Microsoft ADO.NET Framework Provider for SQL Server 和基礎 SQL 用戶端連線到SQL Server。 MsDrdaService.exe.config 檔案 的資料庫 元素包含用於管理輸出 SQL 用戶端連線的網路設定。 資料庫類型是 Microsoft.HostIntegration.Drda.RDB.SqlDatabase,其會定義輸出 SQL 用戶端連線的網路設定。

連接字串

connectionString屬性會定義 DRDA 服務用來定義 Microsoft ADO.NET Framework Data Provider for SQL Server 連線物件的引數名稱和值組清單。 這個 必要 屬性接受 字串 值。 預設值為 Data Source=localhost;整合式安全性=true;MultipleActiveResultSets=true

項目 描述
應用程式名稱 [應用程式名稱] 屬性會指示 SQL Client 將應用程式的名稱與連線產生關聯。 這個 選擇性 屬性接受 字串 值。 預設值為 空字串
連接逾時 Connect Timeout屬性會指示 SQL 用戶端 (秒的時間長度,) 在終止嘗試並產生錯誤之前等候與伺服器的連線。

這個 選擇性 屬性接受 整數 值。 有效值大於或等於 0,且小於或等於 2147483647。預設值為 15 秒。
資料來源 資料來源屬性會定義使用 TCP/IP 或具名管道連線之SQL Server實例的名稱或網路位址。 這個 必要 屬性接受 字串 值。 預設值為 空字串

針對 TCP/IP,格式化的值會以 「tcp:」 前置詞開頭,後面接著 IPv4 或 IPv6 格式的 TCP/IP 別名或位址,後面接著反斜線分隔SQL Server實例名稱或逗號分隔的 TCP/IP 埠號碼。

- tcp: < host name\ < instance name >>
- tcp: < 主機名稱 > , < TCP/IP 埠號碼>

針對具名管道,格式化的值會以 「np:」 前置詞開頭,後面接著主機名稱和具名管道名稱。

- np:\\ < host name > \pipe\pipe 名稱 <>
Encrypt Encrypt屬性會指示 SQL 用戶端使用安全通訊端層 (SSL) 來加密 SQL Client 與SQL Server之間傳送的所有資料。 這個 選擇性 屬性 接受 布林值 true、false、yes 和 no。 預設值為 false
Failover Partner Failover Partner屬性會通知 SQL 用戶端設定資料庫鏡像SQL Server的名稱。 這個 選擇性 屬性接受 字串 值。 預設值為 空字串
初始目錄 初始目錄屬性會指示 SQL 用戶端連線至哪個資料庫。 這個 選擇性 屬性接受最多 128 個字元的 字串 值。 預設值為 空字串
整合式安全性 整合式安全性屬性會指示 SQL 用戶端透過安全性支援提供者介面 (SSPI) ,使用 Windows 驗證連線到SQL Server。 這個 選擇性 屬性接受 布林 值 true、false、yes 和 no。 預設值為 false

當這個屬性值為 true 或是時,DRDA 服務會使用 Windows 驗證連線到SQL Server。

- 連線認證衍生自執行中的 MsDrdaService.exe (服務帳戶,或在從命令列執行時登入使用者) 。
- 當以值指定個別的聯盟應用程式引數時,連線認證衍生自 Enterprise Single Sign-On 服務。 如需詳細資訊,請參閱聯盟應用程式主題。

當這個屬性值為 false 或否時,DRDA 服務會使用 SQL Server Authentication 連線到SQL Server。

- 連線認證衍生自 ConnectionString 中的 [使用者識別碼] 和 [密碼] 引數。
- 當使用者識別碼和密碼引數不存在時,連線認證衍生自 DRDA 應用程式要求者資料用戶端。 注意: 使用 Windows 起始的企業單一單一 Sign-On 和對應驗證網域功能時,您必須指定 false。
Max Pool Size [集區大小上限] 屬性會定義 SQL 用戶端應該保留在連接集區中的連線數目上限。 這個 選擇性 屬性接受 整數 值。 預設值為 100
MultipleActiveResultSets MultipleActiveResultSets屬性會指示SQL Server維護多個作用中結果集, (MARS) ,包括開啟的伺服器資料指標物件。 這個 必要 屬性接受 布林 值 true、false、yes 和 no。 預設值為 true注意: DRDA 服務需要 MARS 來支援靜態 SQL CURSOR WITH HOLD 語句所建立的伺服器資料指標。
Network Library 網路程式庫屬性會指示 SQL 用戶端使用共用記憶體或 TCP/IP 連線到SQL Server。 這個 選擇性 屬性接受 dbmslpcn (共用記憶體) 、dbnmpntw (具名管道) 或 dbmssocn (TCP/IP) 的 字串 值。 預設值為 dbmslpcn
Packet Size Packet Size屬性會定義 SQL 用戶端將用來與實例通訊的網路封包大小,以位元組為單位SQL Server。 這個 選擇性 屬性接受 整數 值,值為 512 到 32676。 預設值為 8192
密碼 當 SQL 用戶端使用 SQL Server Authentication 時,Password屬性會定義登入密碼的值。 這個 選擇性 屬性接受最多 128 個字元的 字串 值。 預設值為 空字串
Pooling Pooling屬性會指示 SQL 用戶端在 DRDA 服務關閉時,將新增新建立的連接新增至集區。 在下一次嘗試開啟相同的連線時,使用相同的連接字串屬性值,該連接將會從集區繪製。 這個 選擇性 屬性接受 布林 值 true、false、yes 和 no。 預設值為 false
TrustServerCertificate TrustServerCertificate會指示 SQL 用戶端在略過憑證鏈結以驗證信任時加密通道。 這個 選擇性 屬性接受 布林 值 true、false、yes 和 no。 預設值為 false
使用者識別碼 當 SQL 用戶端使用 SQL Server 驗證時,使用者識別碼屬性會定義登入使用者識別碼的值。 這個 選擇性 屬性接受最多 128 個字元的 字串 值。 預設值為 空字串
工作站 ID [工作站識別碼] 屬性會在連線至SQL Server時定義工作站的名稱。 這個 選擇性 屬性接受最多 128 個字元的 字串 值。 預設值為 空字串

DRDA 服務支援這些 SqlClient 連接字串引數名稱和值。

如需詳細資訊,請參閱https://msdn.microsoft.com/library/system.data.sqlclient.sqlconnection.connectionstring.aspx

用戶端應用程式名稱

clientApplicationName屬性會指示 DRDA 服務如何設定 SQL 用戶端應用程式名稱連接屬性。 這個 選擇性 屬性接受 字串 值。 預設值為 externalName,這是 DRDA 外部名稱 (EXTNAM) ,代表 DRDA AR 用戶端程式的工作、工作或程式名稱。 選擇性地指定 transactionIdentifier的值,這是 EXTNAM 的位元組 5-8,代表在 Z/OS 的 CICS 中執行時,DRDA AR 用戶端程式的交易識別碼名稱。

預存程式呼叫逾時

storedProcedureCallTimeout屬性會指示 DRDA 服務 (以秒為單位的時間長度,) 等候SQL Server處理 CALL 語句以執行預存程式,再終止嘗試並產生錯誤。 這個 選擇性 屬性接受 整數 值。 有效值大於或等於 0,且小於或等於2147483647。 值為 0 表示 (嘗試執行命令時不會無限期等候) 。 預設值為 30 秒。

注意

這個逾時值是命令執行或處理結果期間所有網路讀取的累計逾時。 傳回第一個資料列之後,仍可能會發生逾時,而且不包含使用者處理時間,只有網路讀取時間。

SQL 應用程式

MsDrdaService.exe.config 檔案的 sqlApplicationManager 元素包含用來管理輸出 SQL 用戶端連線的應用程式設定。 sqlApplicationManager 類型是 Microsoft.HostIntegration.Drda.Server.SqlApplicationManager,其會處理輸出 SQL 用戶端連線。

發生錯誤時回復交易

rollbackTransactionOnError屬性會指示 DRDA 服務在負SQL Server資料庫錯誤之後執行 ROLLBACK。 這個 選擇性 屬性接受 布林 值。 預設值為 true

注意

將此值設定為 false 可能會提供與連結至 DB2 for z/OS 的自訂程式相容性。 不過,將此值設定為 false 可能會中斷與標準開放平臺 (的相容性,例如 ODBC) DRDA 應用程式要求者用戶端,例如 IBM DB2 Connect JDBC Driver。

安全性

DRDA 服務會處理系結 TCP/IP 網路連線的驗證。 DRDA 服務支援選擇性加密和單一登入功能,以改善安全性和效能。 MsDrdaService.exe.config 檔案的 securityManager 元素包含管理內含 DRDA 用戶端連線的安全性設定。 securityManager 類型是 Microsoft.HostIntegration.Drda.Server.SecurityManager,可處理內系結 TCP/IP 網路連線的驗證。

ESSO Host-Initiated 聯盟應用程式

hostInitiatedAffiliateApplication屬性會定義 DRDA 服務應該搭配 Microsoft Enterprise Single Sign-On 使用的聯盟應用程式名稱,以在 SQL 用戶端使用 Windows 驗證時,將系結的 DRDA AR 用戶端認證對應至 Windows Active Directory 網域使用者。 這個 選擇性 屬性接受 字串 值。 預設值是 空字串,指示 DRDA 服務不使用主機起始的 ESSO。

注意

使用主機起始的 ESSO 時,您必須在 SQL Server 連接字串中指定整合式安全性=true。

聯盟應用程式是代表系統或子系統的邏輯實體,例如主機、後端系統或 IBM DB2 資料庫用戶端。 如需 SSO 附屬應用程式名稱,請連絡您的 SSO 系統管理員。

ESSO Windows-Initiated 聯盟應用程式

當 SQL 用戶端使用SQL Server驗證時,windowsInitiatedAffiliateApplication屬性會定義 DRDA 服務應該與 Microsoft Enterprise Single Sign-On 搭配使用的聯盟應用程式名稱,以將 Windows Active Directory 網域使用者對應至超出界限的 SQL 用戶端認證。 這個 選擇性 屬性接受 字串 值。 預設值是 空字串,指示 DRDA 服務不使用 Windows 起始的 ESSO。

您可以選擇性地指定 isRdbName 的值,以指示 DRDA 服務在 ACCRDB (Access Relational Database) 通訊協定流程作為 Windows-Initiated 聯盟應用程式名稱時,使用內系 RDBNAM (關係資料庫名稱) 。 定義 Windows 起始的 ESSO 聯盟應用程式時,您必須建立第三個欄位 (「ConnectionString」) 。 認證對應必須包含在 ConnectionString 欄位中,引數值組 (Initial Catalog= < SQL_Server_Database_Name) > 。 認證對應可能包含 [密碼] 欄位的預留位置, (MS$SAME) 。

注意

使用 Windows 起始的 ESSO 時,您必須在 SQL Server 連接字串中指定整合式安全性=true。

聯盟應用程式是代表系統或子系統的邏輯實體,例如主機、後端系統或 IBM DB2 資料庫用戶端。 如需 SSO 附屬應用程式名稱,請連絡您的 SSO 系統管理員。

安全性權杖逾時

DRDA 服務會快取從 Microsoft 企業單一 Sign-On 和對應驗證網域功能取得的安全性權杖,在連線到使用整合式安全性支援提供者介面 (SSPI) 設定為 Windows 驗證SQL Server時使用。

securityTokenTimeout屬性會指示 DRDA 伺服器保留一段時間的安全性權杖,之後再取得新的 Windows 用戶端識別碼 (CID) 。 這個 選擇性 屬性接受 持續時間 值。 預設值為 PT8H (時間週期為 8 小時) 。 持續時間值是以 PnYnMnDTnHnMnS 格式指定。

項目 描述
P 所需持續時間 (期間)
紐約 年數。
納米 月數。
nD 天數。
T 時間區段的開頭 (指定包含小時、分鐘或秒的時間持續時間) 。
Nh 時數。
納米 分鐘數。
S 秒數。

以 XML 格式表示的時間持續時間。

對應驗證

mappedAuthenticationDomain屬性會指示 Microsoft Windows Active Directory 網域對應內部 DRDA 用戶端認證 (使用者名稱和密碼) 的 DRDA 服務,當使用整合式安全性支援提供者介面 (SSPI) ,但未在使用 Microsoft Enterprise 單一登入時,連線至針對Windows 驗證設定的SQL Server。 這個 選擇性 屬性接受 字串 值。 預設值為 空字串

注意

對應驗證網域安全性驗證需要下列額外設定。

SQL Server資料庫連線

SQL Server 連接字串中的整合式安全性引數必須設定為true的值。

MsDrdaService.exe.config 檔案之資料庫元素內的hostInitiatedAffiliateApplication屬性必須設定為空字串的值。 您無法同時使用主機起始的 ESSO 與對應驗證網域安全性驗證。

DRDA 服務帳戶的Windows 安全性

MsDrdaService.exe 必須在網域使用者帳戶的內容中執行, (Domain\User) 。

服務帳戶必須是 HIS 系統管理員和 HIS 執行時間使用者本機群組的成員。

本機安全性原則

服務帳戶需要這些本機安全性原則設定,才能以服務身分執行:

  • 服務帳戶需要以服務身分登入。

  • 服務帳戶需要作為作業系統的一部分。

  • 服務帳戶需要 Access Credential Manager 作為受信任的呼叫端。

  • 服務帳戶需要啟用電腦和使用者帳戶才能信任委派。

適用于 z/OS 線上資料庫的 DB2 (CDB)
資料表 資料行 Description
SYSDATA。IPNAMES SECURITY_OUT P 值 「P」 表示具有授權識別碼的密碼。
SYS][SYS][SYS][SYSIPNAMES USERNAMES O 值 「O」 表示來自 SYS SSO 的輸出識別碼。USERNAMES 資料表。
SYS][SYS][SYS][SYSUSERNAMES TYPE O 值 「O」 表示輸出轉譯。
SYS][SYS][SYS][SYSUSERNAMES AUTHID <string> 字串值是 Windows Active Directory 網域使用者名稱。
SYS][SYS][SYS][SYSUSERNAMES PASSWORD <string> 字串值是 Windows Active Directory 網域密碼。

支援對應驗證網域安全性驗證所需的 z/OS 線上資料庫設定 DB2。

驗證查閱逾時

authenticationLookupTimeout屬性會指示 DRDA 伺服器在失敗之前等待安全性驗證查閱要求的持續時間。 這個 選擇性 屬性會接受 持續時間 值。 預設值為 PT30S (時間週期為 30 秒) 。 持續時間值是以 PnYnMnDTnHnMnS 格式指定。

項目 描述
P 所需期間 (期間)
紐約 年數。
納米 月數。
nD 天數。
T 時間區段的開始 (指定包含小時、分鐘或秒) 的時間持續時間。
Nh 時數。
納米 分鐘數。
S 秒數。

以 XML 格式表示的時間持續時間。

驗證查閱重試

authenticationLookupRetries屬性會指示 DRDA 伺服器在失敗之前嘗試安全性驗證查閱要求的次數。 這個 選擇性 屬性接受 整數 值。 預設值為 3 次重試。

SET 陳述式

DRDA 服務會透過 Microsoft ADO.NET Framework Provider for SQL Server 和基礎 SQL 用戶端連線到 SQL Server。 sqlSetMsDrdaService.exe.config 檔案的 元素包含 DRDA 伺服器針對每個SQL Server連線發出之 SET 語句,以改變目前處理特定資訊的會話。

SET ARITHABORT

屬性 arithAbort 會指示 DRDA 伺服器在連接時發出 SET ARITHABORT 語句,要求SQL Server在查詢執行期間發生溢位或零除錯誤時終止查詢。 這個 optional 屬性接受 string 值。 預設值為 ON