共用方式為


使用適用於DRDA的 Microsoft 服務規劃和架構解決方案

下列各節提供使用 Microsoft Service for DRDA (DRDA Service) 來規劃和架構解決方案的說明。

規劃

企業 IT 組織需要提供新的解決方案,同時提高開發人員效率並降低成本。 DRDA 服務提供技術和工具,可讓 IT 專業人員和企業開發人員根據 Microsoft SQL Server 部署新的解決方案,同時根據 IBM DB2 連接現有的工作負載。 下圖提供將IBM DB2用戶端連線到 Microsoft SQL Server 資料庫之DRDA服務解決方案所涉及的技術和元件的高階架構。

HIS DRDA Planning

上圖顯示將 IBM CICS for z/OS 用戶端程式連線至遠端 Microsoft SQL Server 資料庫的計劃,以及 DB2 for z/OS 和 DRDA 服務。

適用於DRDA的 Microsoft 服務 (分散式關係資料庫架構) 是應用程式伺服器 (AS) ,可讓DRDA 應用程式要求者 (AR) 用戶端,例如 IBM DB2 for z/OS 和 DB2 for IBM i,執行對應至 SQL Server 預存程式的靜態 SQL 語句。 DRDA 服務會在階段式工作負載移轉期間,或針對支援遠端批次或商業智慧解決方案的每日作業,為企業提供主機起始的數據整合。

DRDA 服務提供下列功能。

  • 從DRDA用戶端存取透過TCP/IP網路連線 SQL Server。

  • 安全性驗證和數據加密。

  • 分散式雙階段認可交易。

  • 對應至預存過程調用 SQL Server 的靜態 SQL 語句。

  • 對應至 T-SQL 命令的有限動態數據操作語言命令。

  • 數據類型對應和轉換、字串編碼和日期時間格式設定。

  • 錯誤碼和文字對應至DRDA回覆訊息和格式化的錯誤物件。

  • 記錄流程和命令的追蹤公用程式,可疑難排解問題。

分散式關聯式資料庫架構

IBM DB2 用戶端和伺服器會使用分散式關係資料庫架構 (DRDA) 通訊協定和格式進行通訊。 DRDA 服務可作為DRDA應用程式伺服器 (AS) ,讓DRDA應用程式要求者 (AR) 用戶端與 Microsoft SQL Server 資料庫互動。 DRDA 服務支援一組有限的DRDA代碼點,如Open Group (http://www.opengroup.org) 所發佈的架構參考中所定義。

IBM DB2 伺服器和用戶端

Microsoft、IBM 和第三方廠商會在各種DRDA應用程式要求者中實作DRDA通訊協定和格式, (AR) 客戶端技術。 DRDA 服務支援來自符合DRDA第5版標準的DRDAAR客戶端的連線,包括這些IBM和 Microsoft 產品中封裝的DRDA AR。

  • IBM DB2 for z/OS 12 和 11

  • IBM DB2 for IBM i 7.4、7.3 和 7.2

  • IBM DB2 for LUW 11.5、11 和 10.5

    Microsoft Host Integration Server 包含兩個DRDA 應用程式要求者用戶端,一個設計用來連線到遠端 IBM DB2 資料庫伺服器,另一個設計用來連線到遠端 IBM Informix 資料庫伺服器。 這些DRDA AR支援DRDA 5.0版的子集。 適用於 DB2 的 Microsoft 用戶端支援 DB2 的這些資料提供者:

  • Microsoft ODBC Driver for DB2

  • Microsoft OLE DB Provider for DB2

  • Microsoft ADO.NET Framework Data Provider for DB2

  • Microsoft BizTalk Adapter for DB2

    DRDA 服務提供 Microsoft DRDA 用戶端和 IBM DRDA 用戶端的基本 DRDA 支援。

企業單一登入

DRDA 服務依賴 Microsoft Enterprise Single Sign-On,將系結主機認證對應 (例如 RACF 使用者授權標識符) 到超出界限的 Windows Active Directory (AD) 認證,讓 DRDA 服務能夠使用整合式安全性連線到 SQL Server。

單一登錄

上圖顯示已啟用企業單一 Sign-One 時,DRDA 服務能夠將輸入DRDA認證對應至輸出 SQL Server認證。

主機起始的 ESSO 需要在 Active Directory (Kerberos 限制委派中提高許可權,並使用任何驗證通訊協定) 。 ESSO 需要DRDA服務所連線 SQL Server 電腦的 Kerberos 服務主體名稱。 .

Microsoft SQL Server

企業系統管理員和開發人員依賴 Microsoft SQL Server 來建置企業營運應用程式的任務關鍵性數據平臺。 SQL Server 可協助企業透過整個組織的數據探索來解除新見解,同時提供工具一致的數據和大規模的分析和數據倉儲。 DRDA 服務可以根據 Microsoft SQL Server 將現有的 IBM 主機工作負載連線到新的解決方案,以啟用異質企業應用程式和商業智慧。

DRDA 服務依賴 Microsoft SQL Server 網路用戶端和 ADO.NET Framework Data Provider for SQL Server 連線和數據存取 SQL Server 資料庫。 如需 Microsoft SQL Server 的詳細資訊,請參閱 http://www.microsoft.com/sql

架構

DRDA 服務可讓您從遠端 IBM DB2 用戶端程式和本機 Microsoft SQL Server 資料庫進行連線,方法是根據業界標準的DRDA (分散式關係資料庫架構) ,以一組通訊協定代碼點和格式定義 DB2 用戶端對伺服器通訊。 DRDA 服務會在DRDA內以應用程式伺服器的形式運作, (AS) 。 IBM DB2 用戶端程式 (例如 Z/OS 的 COBOL TOS 和 CICS) 會以 DRDA 中的 DB2 作為應用程式要求者, (AS) 用戶端連接到 DB2 for z/OS。 DRDA 服務是裝載 Microsoft .NET Framework 實例、使用 Microsoft ADO.NET Framework Data Provider for SQL Server 和基礎 Microsoft SQL Server 網路用戶端連線到本機或遠端 Microsoft SQL Server 的 Windows 服務程式。

DRDA 服務解決方案

上圖顯示將IBM DB2 for z/OS 連線到 Microsoft SQL Server 的DRDA服務解決方案。

連接性

分散式關聯式資料庫架構

DRDA 服務會將DRDA代碼點和數據格式轉換成對應的 Microsoft ADO.NET 連線、交易、命令、數據類型和錯誤物件。 DRDA 服務的主要功能是將 DB2 套件的靜態 SQL 和語句執行功能對應至 Microsoft SQL Server 預存程式和 CALL 語句。 DRDA 服務會根據各種DRDA管理員,處理架構中定義的DRDA通訊協定流程。

網路傳輸和交易

DRDA 服務支援跨 TCP/IP 網路進行系結的已驗證 DRDA 用戶端連線。 DRDA 服務不支援透過 LU6.2 透過 LU6.2 使用 HPR/IP (透過因特網通訊協定) 的高效能路由。 為了連線到 SQL Server,DRDA 服務會使用基礎 Microsoft ADO.NET Provider for SQL Server 和 SQL 網路用戶端、支援記憶體內部、命名管道和 TCP/IP 網路連線。

根據預設,DRDA 服務會接聽預設DRDA埠446以進行內送連線,並接受任何DRDA用戶端連線要求。 或者,DRDA 服務可以接聽另一個預先設定的埠號碼。 此外,為了改善安全性,DRDA 服務可以設定為接受來自預先定義遠端網路位址清單的系結連線要求。

為了啟用網路上的可靠更新,DRDA 服務支援DRDA DUW (分散式工作單位) 兩階段認可交易。 DRDA DUW 交易會透過 Microsoft ADO.NET Framework Data Provider for SQL Server 和基礎 SQL 網路客戶端對應至 SQL Server 交易。

共用和故障轉移

DRDA 服務透過在DRDA服務應用程式組態的 SQL Server 連接字串 自變數中設定 SQL 用戶端共用選項,支援 SQL 用戶端連線共用。此外,DRDA 服務也提供內部連線集區,將內嵌DRDAAR用戶端連線和驗證認證對應至外系 SQL Server 資料庫連結和認證。

DRDA 容錯故障轉移

DRDA 服務主要和夥伴伺服器會一起運作,以進行容錯故障轉移。

DRDA 服務可以在兩部 (2 部) 伺服器群組中運作,每部計算機一部,以提供基本的容錯。 當DRDA AR用戶端連線到 SQL Server 資料庫時,DRDA 服務會傳回DRDA SRVLST (伺服器清單,) 具有資料伺服器實例加權清單。 如果故障轉移主要DRDA服務,DRDA AR 可以使用這項資訊來連線到一對DRDA服務計算機的替代成員。 與 SQL Server 叢集或鏡像結合,這項技術可以提供合理的容錯故障轉移保護層級。

驗證和加密

為了保護資訊,DRDA 服務支援常見的DRDA驗證和數據加密技術。 例如,DRDA 服務可以使用密碼) 或使用 256 位進階加密標準 (AES) ,支援純文字 EBCDIC 編碼使用者名稱的基本 (身份驗證。 此外,DRDA 服務可以使用安全套接字層 (SSL) V3.0 或傳輸層安全性 (TLS) V1.0 來支援合併的驗證和加密。

為了提供整合式驗證,DRDA 服務可以使用 Microsoft Enterprise Single Sign-On (ESSO) 結合認證驗證和對應,以及使用 Windows SSPI (Security Support Provider Interface) 進行外系 SQL Server 驗證。 例如,DRDA 服務可與 ESSO 搭配運作,將 IBM RACF (Resource 存取控制 Facility) 使用者名稱和密碼對應至 Microsoft Windows Active Directory 網域\用戶名稱,以將整合式安全性連線到遠端 SQL Server 資料庫。

相容性

靜態和動態 SQL

主要來說,DRDA 服務可讓 DB2 用戶端程式藉由將封裝語句對應至 SQL Server 預存程式,來執行 DB2 封裝的遠端定義靜態 SQL。 例如,當 DB2 系統管理員或程式設計人員系結將 DB2 套件複製到 SQL Server 時,DRDA 服務會將DRDA BNDSQLSTT (系結 SQL 語句) 流程轉換成 SQL Server T-SQL CREATE PROCEDURE 語句。 當 DB2 程式執行遠端封裝語句時,DRDA 服務會將DRDA OPNQRY (Open Query) 或 EXCSQLSTT (Execute SQL 語句) 轉換成 CALL 語句。

其次,DRDA 服務支援有限的動態 SQL 作業,以允許 DB2 用戶端程式執行遠端 SQL Server T-SQL 命令。 例如,DB2 系統管理員可以使用 QMF (查詢管理工具) ,讓 z/OS 查詢遠端 SQL Server 數據表。

SQL 語法

DRDA 服務有一個有限的 DB2 ANSI,可用來 SQL Server T-SQL 命令語法轉換器,用於系結套件、執行靜態和動態 SQL 語句。 或者,DRDA 服務會以 #DFDDC57008FD5447C984A453761907D26 CLR 型函式的形式提供額外的相容 DB2 函式。

DRDA 服務提供可取代的套件系結元件,以處理DRDA BNDSQLSTT (系結 SQL 語句) 至 SQL Server T-SQL CREATE PROCEDURE 語句。 例如,ISV (獨立軟體廠商) 或企業開發人員可以實作自定義定義的套件系結元件,以支援語法、數據類型、編碼或其他必要的轉換。

目錄和架構名稱

DRDA 服務提供高階物件標識碼的基本對應,包括目錄和架構名稱。 例如,DRDA 服務可以將系結的DRDA RDBNAM (關係資料庫名稱) 對應至外系 SQL Server 資料庫名稱。 此外,DRDA 服務可以將系結的DRDA COLLID (集合標識碼) 對應至輸出 SQL Server 架構名稱。

資料類型轉換

為了支援在 windows 操作系統上執行的 SQL Server 跨平臺互操作性,以及在 z/OS 和 IBM i 上執行的 DB2 伺服器上執行的資料庫之間的跨平臺互操作性,DRDA 服務提供 XML 檔案 (DB2ToMSSql.xml 和 MSSQLToDB2.xml) 中定義的一組數據類型對應和轉換。 例如,DRDA 服務可以對應,並將內結 DB2 DECIMAL 轉換為輸出 SQL Server 貨幣。

字串編碼

DRDA 服務支援從 DB2 EBCDIC 字串編碼轉換成 SQL Server ANSI 和 UNICODE 編碼。 選擇性地,DRDA 服務支援已修改的可取代 Windows EBCDIC 到 UNICODE NLS (國家語言支援) 轉換檔案。 此外,DRDA 服務會根據使用CCSID (自動程式代碼字元集標識碼) 十六進位值組預先定義的對應,提供內嵌字元取代。

日期時間格式設定

DRDA 服務提供內嵌 DB2 DATE/TIME/TIMESTAMP,以 SQL Server 日期/時間/datetime2 格式和字串常值轉換。 例如,DRDA 服務可以將YYYY-MM-DD-hh.mm.ss.tttttt 格式的內綁定 DB2 格式 TIMESTAMP 字串常值轉換成 out-bound SQL Server datetime2 (6) 值,格式為 YYYY-MM-DD hh:mm:ss.tttt。

系統管理

系統管理員可以在啟動DRDA服務之前,先修改 MsDrdaService.exe.config 檔案,以及 (數據類型和錯誤對應) 的輔助 XML 檔案來設定DRDA服務。 或者,DRDA 服務會立即讀取 MsDrdaService.exe.config,以啟用動態設定更新。

設定

安裝後,IT 專業人員可以編輯 MsDrdaService.exe.config 檔案並更新其他 XML 檔案來自定義 DRDA 服務設定。 以下是DRDA服務元件、可設定的專案和組態存放區的清單。

元件 項目 組態存放區
DRDA 服務 服務認證

安全策略許可權

連線管理員

安全性管理員

SQL 存取管理員

資料庫管理員
Windows 登錄

MsDrdaService.exe.config

MSDRDAErrorMappings.xml
資料轉換 資料類型對應

Date、Time、DateTime 格式
DB2ToMSSql.xml MSSQLToDB2.xml

MsDrdaService.exe.config
字碼頁轉換 自訂代碼頁

代碼點對應
Windows 登錄

MsDrdaService.exe.config
系結接聽程式 默認接聽程式

自定義接聽程式
MsDrdaService.exe.config
追蹤接聽項 文字接聽程式

主控台接聽程式

ETW 接聽程式

自定義接聽程式
MsDrdaService.exe.config
事件記錄檔 事件 應用程式記錄檔
效能監視器 Counters Windows 登錄

MsDrdaService.exe.config

上表列出可設定的DRDA服務元件、專案和組態存放區。

追蹤

DRDA 服務支援多個追蹤選項控制台接聽程式追蹤、文字接聽程序追蹤、事件記錄檔接聽程式、ETW (Windows 事件追蹤) 接聽程式和自定義追蹤。 系統管理員在 Windows 控制台模式中執行DRDA服務時,會使用主控台追蹤,將追蹤資料輸出到畫面。 系統管理員在 Windows 服務模式或控制台模式中執行DRDA服務時使用文字追蹤,將追蹤資料輸出至可讀取的文字檔案。 DRDA 服務會自動將事件記錄檔接聽程式追蹤專案張貼到 Windows 事件記錄檔。 系統管理員會使用 ETW 追蹤來收集高速數據。 或者,企業開發人員可以實作自定義追蹤接聽程式,將所有或選取的追蹤數據輸出至另一個元件。

會計和記錄

DRDA 服務支援標準DRDA會計代碼點:用戶端工作站名稱;用戶端使用者標識碼;用戶端應用程式名稱;和客戶端會計。 企業開發人員可以在其程式中指定動態值,以填入DRDA用戶端會計屬性。 DRDA 服務會在運行時間讀取值,以填入DRDA服務追蹤,讓問題與特定應用程式和用戶內容相互關聯。 或者,企業開發人員可以實作DRDA服務客戶追蹤接聽程式,以記錄DRDAAR用戶端要求。 例如,客戶追蹤接聽程式可以根據客戶客戶帳戶值,將選取的網路和資料庫存取記錄到遠端 SQL Server 記錄資料庫。

錯誤對應

DRDA 服務會以DRDA代碼點回覆訊息 (RM) 或DRDA SQLCARD (SQL Communications 區域回復資料) 的形式傳回 SQL Server 錯誤。 根據預設,針對常見問題,DRDA 服務會使用內建數據表,將 SQL 錯誤碼和錯誤字串對應至 DRDA 回復訊息和錯誤。 此外,DRDA 服務會使用外部 MsDrdaErrorMappings.xml 檔案,從 SQL Server 錯誤碼和錯誤文字對應至 SQLCODE、SQLSTATE、原因碼和錯誤訊息。