DRDA용 서비스(작업)
다음 섹션에서는 DRDA(Microsoft Service for DRDA 서비스)를 운영하기 위한 도움말을 제공합니다.
DRDA 서비스 관리
DRDA 서비스 시작
DRDA 서비스를 시작하여 서비스 또는 콘솔 애플리케이션으로 실행할 수 있습니다.
Windows 서비스
명령 창을 사용하여 서비스 구성에 정의된 자격 증명 아래에서 DRDA 서비스를 시작하여 서비스로 실행할 수 있습니다. 명령 프롬프트를 열고 net start msdrdaservice를 입력하고 Enter 키를 선택합니다.
C:\Windows\system32>net start msdrdaservice
The Microsoft Service for DRDA service is starting.
The Microsoft Service for DRDA service was started successfully.
콘솔 애플리케이션
명령 창을 사용하여 명령 창의 자격 증명 아래에서 DRDA 서비스를 실행하여 콘솔 애플리케이션으로 실행할 수 있습니다.
- 명령 프롬프트에서 net stop msdrdaservice 를 입력하고 Enter 키를 누릅니다.
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC>net stop msdrdaservice
The Microsoft Service for DRDA service is stopping.
The Microsoft Service for DRDA service was stopped successfully.
- 명령 프롬프트에서 msdrdaservice.exe -c 를 입력하고 Enter 키를 누릅니다.
Information:0:3:[Jan 24 2024 17:03:15.743] disableXaTransaction has been set to False by parsing string: False
Information:0:3:[Jan 24 2024 17:03:15.743] Successful to set TransactionExpiryDuration.
Information:0:3:[Jan 24 2024 17:03:15.743] Successful to set ResyncRetryDurationInMinutes.
Information:0:3:[Jan 24 2024 17:03:15.743] Successful to set XaIsolationLevel attribute to: SZ
Information:0:3:[Jan 24 2024 17:03:15.743] ResynchronizationManager reaching the end of transaction log file.
Information:0:5:[Jan 24 2024 17:03:15.962] Enter SessionManager::Initialize
Information:0:5:[Jan 24 2024 17:03:16.118] Exit SessionManager::Initialize
Information:0:5:[Jan 24 2024 17:03:16.118] Enter TcpConnectionManager::StartListener
Information:0:3:[Jan 24 2024 17:03:16.118] Microsoft Service for DRDA (build: 11.0.2205.0)
Information:0:3:[Jan 24 2024 17:03:16.118] TCP communication manager listening on port 446
Information:0:5:[Jan 24 2024 17:03:16.150] Exit TcpConnectionManager::StartListener
Information:0:5:[Jan 24 2024 17:03:16.150] Exit TcpConnectionManager::Initialize
Information:0:4:[Jan 24 2024 17:03:16.150] Set ServerBootstrap state to: Started
참고
DRDA 서비스 추적 수신기는 콘솔 창에 정보를 출력합니다. DrdaAsConsoleListener 항목의 주석 처리를 제거하고 MsDrdaServiceConfig.exe.config 파일에서 traceLevel(즉, 5)을 설정해야 합니다.
DRDA 서비스 중지
서비스 또는 콘솔 애플리케이션으로 실행 중인 DRDA 서비스를 중지할 수 있습니다.
Windows 서비스
명령 창을 사용하여 서비스로 실행할 때 DRDA 서비스를 중지할 수 있습니다.
- 명령 프롬프트에서 net stop msdrdaservice를 입력하고 Enter 키를 누릅니다.
C:\Windows\system32>net stop msdrdaservice
The Microsoft Service for DRDA service is stopping.
The Microsoft Service for DRDA service was stopped successfully.
콘솔 애플리케이션
명령 창을 사용하면 콘솔 애플리케이션으로 실행 중인 DRDA 서비스를 중지할 수 있습니다.
- 명령 프롬프트에서 Ctrl+C를 입력합니다.
C:\Windows\system32>
참고
DRDA 서비스가 콘솔 애플리케이션으로 실행을 중지하고 명령 프롬프트가 나타납니다.
DRDA 클라이언트를 SQL Server 데이터베이스에 연결
DRDA 서비스는 DRDA 클라이언트 요청을 로컬 및 원격 SQL Server 데이터베이스에 대한 연결로 처리합니다. 이 항목에서는 MsDrdaService 데이터베이스 연결 작업의 작업에 대해 설명합니다.
클라이언트 연결
서비스 시작 시 DRDA 서비스는 내부 DRDA 서비스 추적 수신기에 정보 항목을 작성하여 TCP Communication Manager가 인바운드 DRDA 애플리케이션 요청자 클라이언트 연결을 수신 대기하는 포트에 대해 IT 전문가에게 알립니다.
Information:0:3:[Jan 24 2024 17:03:16.118] TCP communication manager listening on port 446
원격 DRDA 애플리케이션 요청자 클라이언트는 TCP/IP 네트워크 연결을 통해 로컬 DRDA 서비스에 연결합니다. DRDA 클라이언트는 DRDA 서비스가 DRDA 프로토콜 회신으로 응답하는 DRDA EXCSAT(Exchange Server 특성), ACCSEC(Access Security) 및 ACCRDB(Access Relational Database) 프로토콜 흐름 및 데이터 형식을 보냅니다.
인증
통합 인증을 제공하기 위해 DRDA 서비스는 Microsoft ESSO(Enterprise Single Sign-On)를 사용하는 인바운드 자격 증명 유효성 검사 및 매핑을 Windows SSPI(Security Support Provider Interface)를 사용하는 아웃바운드 SQL Server 인증과 결합할 수 있습니다. 예를 들어, DRDA 서비스는 ESSO와 함께 작동하여 IBM RACF(Resource Access Control Facility) 사용자 이름과 비밀번호를 Microsoft Windows Active Directory 도메인\사용자 이름에 맵핑하고, 이를 통해 통합 보안으로 원격 SQL Server 데이터베이스에 연결할 수 있습니다.
SQL Server Connections
DRDA 서비스는 SQL Server ADO.NET 프레임워크 공급자를 사용하여 로컬 또는 원격 SQL Server 데이터베이스를 업스트림 통신합니다. 기본 SQL 클라이언트 액세스는 메모리 내 연결을 통해 또는 명명된 파이프 또는 TCP/IP를 사용하여 네트워크를 통해 SQL Server. SQL 클라이언트는 선택적 암호화 및 장애 조치 기능을 지원하여 보안 및 안정성을 개선합니다. DRDA 서비스는 보안 및 성능을 향상시키기 위해 선택적 Single Sign-On 및 풀링 기능을 지원합니다. MsDrdaService.exe.config 파일을 편집하여 DRDA 서비스에 SQL 클라이언트를 관리하여 연결을 SQL Server 방법을 지시할 수 있습니다.
장애 조치(failover) Connections
DRDA 서비스는 컴퓨터마다 하나씩 두 개의 서버 그룹으로 작동하여 기본 내결함성을 제공할 수 있습니다. DRDA AR 클라이언트가 SQL Server 데이터베이스에 연결하는 경우 DRDA 서비스는 가중치가 적용된 데이터 서버 인스턴스 목록을 사용하여 DRDA SRVLST(서버 목록)를 반환합니다. 기본 DRDA 서비스의 장애 조치(failover) 시 DRDA AR은 이 정보를 사용하여 DRDA 서비스 컴퓨터 쌍의 대체 멤버에 연결할 수 있습니다. 이 기술은 SQL Server 클러스터링 또는 미러링과 결합되어 적절한 수준의 내결함성 장애 조치(failover) 보호를 제공할 수 있습니다.
이전 그림에서는 장애 조치(failover) 시나리오에서 DRDA 클라이언트가 DRDA 서비스 파트너 서버에 다시 연결하는 방법을 보여 줍니다.
패키지 바인딩 처리
DRDA 서비스는 DRDA Begin Bind(BGNBND) 및 Bind SQL 문(BNDSQLSTT) 명령을 SQL Server DROP PROCEDURE 및 CREATE PROCEDURE 문으로 처리하여 정적 DB2용 SQL 패키지를 SQL Server 저장 프로시저로 변환합니다. DRDA BGNBND 흐름에는 패키지 내에 저장된 SQL 문당 하나씩 하나 이상의 BNDSQLSTT 흐름이 포함됩니다. DRDA 서비스는 하나의 DRDA 정적 SQL 패키지 섹션(하나의 문 포함)을 하나의 SQL Server 저장 프로시저에 매핑합니다. DRDA 서비스는 저장 프로시저 내의 주석 및 선택적 확장 저장 프로시저 속성에서 BGNBND 패키지 바인딩 옵션을 매핑하거나 유지합니다. DRDA 서비스는 내부 SQL 변환기를 사용하여 SQL 명령 구문, 매개 변수, 데이터 형식, 커서 및 결과 집합을 변환합니다. 필요에 따라 사용자 지정 패키지 바인딩 수신기를 개발하여 DRDA 서비스 또는 오프라인으로 패키지를 대화형으로 처리할 수 있습니다.
XML 파일에 패키지 바인딩
DRDA 서비스는 단일 BGNBND 흐름을 DB2 패키지 XML 파일용 정적 SQL로 처리하여 DRDA BNDSQLSTT 흐름에 정의된 원래 바인딩 옵션 및 문을 보존할 수 있습니다.
저장 프로시저에 패키지 바인딩
DRDA 서비스는 단일 BGNBND 흐름을 SQL Server 저장 프로시저로 처리하여 DRDA BNDSQLSTT 흐름에 정의된 원래 문을 해당 SQL Server 구문으로 변환합니다.
프로시저 문 만들기
DRDA 서비스 내부 패키지 바인딩 수신기 및 대부분의 사용자 지정 수신기에는 BGNBND(바인딩 시작) DRDA 프로토콜 흐름의 PKGRPLOPT(패키지 대체 옵션) 값에 따라 DROP PROCEDURE 문이 있는 IF EXISTS 절이 포함됩니다. PKGRPLOPT의 기본값은 PKGRPLALW(패키지 교체 허용)입니다. 필요에 따라 PKGRPLNA 값(패키지 교체 허용 안 됨)을 지정할 수 있습니다.
DRDA 서비스 내부 패키지 바인딩 수신기 및 대부분의 사용자 지정 수신기에는 저장 프로시저를 실행하는 방법을 DRDA 서비스 런타임에 알리는 CREATE PROCEDURE 문 텍스트 바로 앞에 주석이 포함됩니다.
쿼리 결과 집합
이 주석은 DRDA 서비스에 SQLClient DataReader를 사용하여 SELECT 문의 결과를 반환하도록 지시합니다.
/****** RETURN RESULTSET ******/
쿼리 출력 매개 변수
이 주석은 쿼리에서 데이터를 반환할 프로시저를 호출할 때 출력 매개 변수를 준비하도록 DRDA 서비스에 지시합니다.
/****** HAS OUTPUT PARAMS ******/
보류가 있는 커서
이 주석은 DRDA 서비스에 트랜잭션 내에서 커서를 열어 두도록 지시합니다.
/****** CURSOR WITH HOLD ******/
바인딩 옵션
이 주석은 나중에 사용할 수 있는 런타임 DRDA BNDOPT(바인딩 옵션)를 유지합니다.
/****** BNDOPT: <Options><BNDCHKEXS>BNDEXSOPT</BNDCHKEXS><BNDCRTCTL>BNDNERALW</BNDCRTCTL><BNDEXPOPT>EXPNON</BNDEXPOPT><DFTRDBCOL>DBO</DFTRDBCOL><DGRIOPRL>1</DGRIOPRL><PKGATHOPT>PKGATHKP</PKGATHOPT><PKGATHRUL>OWNER</PKGATHRUL><PKGISOLVL>ISOLVLCS</PKGISOLVL><PKGOWNID>PLARSEN</PKGOWNID><PKGRPLOPT>PKGRPLALW</PKGRPLOPT><QRYBLKCTL>LMTBLKPRC</QRYBLKCTL><RDBRLSOPT>RDBRLSCMM</RDBRLSOPT><STTDATFMT>ISODATFMT</STTDATFMT><STTDECDEL>DECDELPRD</STTDECDEL><STTSTRDEL>STRDELAP</STTSTRDEL><STTTIMFMT>ISOTIMFMT</STTTIMFMT></Options> ******/
바인딩 및 실행 패키지 명령 무시
DRDA 클라이언트 프로그램은 기본 DECLARE CURSOR 문을 포함하는 표준 패키지 집합을 바인딩하며, 이를 통해 z/OS용 IBM DB2에 대해 SELECT 및 CALL 문에서 결과를 가져오고 반환하는 방법을 정의합니다. DRDA 서버는 이러한 패키지를 SQL Server 저장 프로시저로 변환할 필요가 없습니다. 정규화된 패키지 이름 값의 구분된 목록이 포함된 IgnoreStandardPackages.txt 파일을 읽어 DRDA 서버에 이러한 패키지를 무시하도록 지시하여 바인딩 처리 및 스토리지 공간을 저장할 수 있습니다.
COLIDPKGNAM
SYSIBM*
*MSCS001
*MSUR001
*MSRS001
*MSRR001
*MSNC001
NULLIDSYSSH*
스톡 IgnoreStandardPackages.txt 파일의 내용입니다.
파일의 첫 번째 행에는 열 머리글을 나타내는 두 값의 탭으로 구분된 집합이 포함되어 있습니다. 첫 번째 열 헤더는 COLID(컬렉션 식별자)입니다. 두 번째 열 헤더는 PKGNAM(패키지 이름)입니다. 파일의 나머지 행에는 컬렉션 식별자 및 패키지 이름에 대한 탭으로 구분된 값 집합이 포함되어 있습니다.
값 대신 별표는 모든 값을 표시합니다. Microsoft DRDA 클라이언트는 하나 이상의 사용자 정의 컬렉션에서 표준 패키지 집합을 정의하기 위한 도구 집합을 제공합니다. 이 경우 와일드카드는 패키지가 정의된 컬렉션에 관계없이 Microsoft DRDA 클라이언트 표준 패키지를 참조하는 바인딩 및 실행 명령을 무시하도록 DRDA 서버에 지시합니다.
문자열 끝에 있는 별표는 부분 값을 표시합니다. IBM DB2 Connect DRDA 클라이언트는 시작 패키지 이름 값이 SYSSH인 NULLID 컬렉션의 표준 패키지 집합을 정의하기 위한 도구 집합을 제공합니다. 이 경우 와일드카드는 IBM DB2 CONNECT DRDA 클라이언트 표준 패키지의 전체 집합을 참조하는 바인딩 및 실행 명령을 무시하도록 DRDA 서버에 지시합니다.
데이터 형식
DRDA 서비스는 이러한 플랫폼 변환을 제공하여 다른 유형의 공급업체 제품 및 기술 간에 호환성을 제공합니다.
데이터 형식 매핑을 SQL Server DB2
DRDA 서비스는 %DRDAROOT%\system 디렉터리의 Db2ToSql.xml 파일에 저장된 정의된 매핑 집합을 기반으로 DB2를 SQL Server 데이터 형식에 매핑합니다. 예를 들어 DRDA 서비스는 DRDA 프로토콜 흐름 및 형식이 지정된 데이터에 정의된 DB2 TIMESTAMP 값과 형식을 microsoft ADO.NET Framework Data Provider for SQL Server 인터페이스를 통해 저장 프로시저 및 동적 SQL 문에 정의된 SQL Server DATETIME2(6) 값 및 형식으로 변환합니다.
원본 DB2 형식 | 대상 SQL Server 형식 |
---|---|
TIME | TIME |
timestamp | DATETIME2 |
DATE | DATETIME |
CHAR | CHAR |
CHAR () FOR BIT DATA | BINARY |
CHAR () FOR MIXED DATA | NCHAR |
CHAR () FOR SBCS DATA | CHAR |
CHARACTER | CHAR |
CHARACTER () FOR BIT DATA | BINARY |
FIXEDBYTE | BINARY |
CHARACTER () FOR MIXED DATA | NCHAR |
CHARACTER () FOR SBCS DATA | CHAR |
NATIONAL CHARACTER | NCHAR |
VARCHAR | VARCHAR |
VARCHAR () FOR BIT DATA | VARBINARY |
VARBYTE | VARBINARY |
VARCHAR () FOR MIXED DATA | NVARCHAR |
VARCHAR () FOR SBCS DATA | VARCHAR |
CHARACTER VARYING | VARCHAR |
CHARACTER VARYING () FOR BIT DATA | VARBINARY |
CHARACTER VARYING () FOR MIXED DATA | NVARCHAR |
CHARACTER VARYING () FOR SBCS DATA | VARCHAR |
NATIONAL CHARACTER VARYING | NVARCHAR |
LONG VARCHAR FOR BIT DATA | 이미지 |
LONG VARCHAR | TEXT |
GRAPHIC | NCHAR |
VARGRAPHIC | NVARCHAR |
GRAPHIC VARYING | NVARCHAR |
SMALLINT | SMALLINT |
INT | INT |
INTEGER | INT |
bigint | bigint |
DECIMAL | DECIMAL |
NUMERIC | DECIMAL |
real | 실수 |
FLOAT | FLOAT |
DOUBLE | FLOAT |
DOUBLE PRECISION | FLOAT |
BLOB | 이미지 |
BINARY LARGE OBJECT | 이미지 |
CLOB | TEXT |
CLOB () FOR MIXED DATA | NTEXT |
CLOB () FOR SBCS DATA | TEXT |
CHAR LARGE OBJECT | TEXT |
CHAR LARGE OBJECT () FOR MIXED DATA | NTEXT |
CHAR LARGE OBJECT () FOR SBCS DATA | TEXT |
CHARACTER LARGE OBJECT | TEXT |
CHARACTER LARGE OBJECT () FOR MIXED DATA | NTEXT |
CHARACTER LARGE OBJECT () FOR SBCS DATA | TEXT |
DB2 데이터 형식 매핑에 SQL Server
DRDA 서비스는 %DRDAROOT%\system 디렉터리의 MsSqlToDb2.xml 파일에 저장된 정의된 매핑 집합을 기반으로 DB2를 SQL Server 데이터 형식에 매핑합니다. 예를 들어 DRDA 서비스는 SQL Server 인터페이스용 Microsoft ADO.NET Framework Data Provider에서 정의한 SQL Server MONEY 값과 형식을 DRDA 프로토콜 흐름 및 형식이 지정된 데이터에 정의된 DB2 DECIMAL 값 및 형식으로 변환합니다.
대상 SQL Server 유형 | 원본 DB2 형식 |
---|---|
SMALLINT | SMALLINT |
INT | 정수 |
실수 | real |
FLOAT | DOUBLE |
SMALLMONEY | DECIMAL(10,4) |
MONEY | DECIMAL(19,4) |
BIT | SMALLINT |
TINYINT | SMALLINT |
bigint | bigint |
UNIQUEIDENTIFIER | CHAR (38) |
VARBINARY | VARBYTE |
timestamp | timestamp |
BINARY | FIXEDBYTE |
XML | LONG VARCHAR |
이미지 | LONG VARCHAR |
VARIANT | VARCHAR(32672) FOR BIT DATA |
TEXT | LONG VARCHAR |
CHAR | CHAR |
VARCHAR | VARCHAR |
NCHAR | CHAR |
NVARCHAR | VARCHAR |
NTEXT | LONG VARCHAR |
DECIMAL | DECIMAL |
NUMERIC | DECIMAL |
DATETIME | timestamp |
DATETIMEOFFSET | timestamp |
DATE | DATE |
TIME | TIME |
SMALLDATETIME | timestamp |
SYSNAME | VARGRAPHIC(128) |
데이터 형식 매핑 구성
DRDA 서비스는 기본 데이터 형식을 DB2에서 SQL Server 변환하고 SQL Server DB2로 변환합니다. 필요에 따라 이러한 XML 파일을 편집하여 기본 데이터 형식 매핑을 수정할 수 있습니다.
C:\Program Files\Microsoft Service for DRDA\system\ DB2ToMSSql.xml
C:\Program Files\Microsoft Service for DRDA\system\ MSSQLToDB2.xml
로캘 인코딩
DRDA 서비스는 로캘별 문자열 인코딩을 지원합니다.
EBCDIC
DRDA 서비스는 UNICODE 1208에서 변환된 아래 나열된 SBCS(단일 바이트 문자 집합) EBCDIC CCSID를 지원합니다.
Name | CCSID | NLS 코드 페이지 |
---|---|---|
EBCDIC - 아랍어 | 420 | 20420 |
EBCDIC - 키릴 자모(러시아어) | 880 | 20880 |
EBCDIC - 키릴 자모(세르비아어, 불가리아어) | 1025 | 21025 |
EBCDIC - 덴마크/노르웨이(유로) | 277 | 1142 |
EBCDIC - 덴마크/ 노르웨이 | 277 | 20277 |
EBCDIC - 핀란드/스웨덴(유로) | 278 | 1143 |
EBCDIC - 핀란드/스웨덴 | 278 | 20278 |
EBCDIC - 프랑스(유로) | 297 | 1147 |
EBCDIC - 프랑스 | 297 | 20297 |
EBCDIC - 독일(유로) | 273 | 1141 |
EBCDIC - 독일 | 273 | 20273 |
EBCDIC - 그리스어(현대) | 875 | 875 |
EBCDIC - 그리스어 | 423 | 20423 |
EBCDIC - 히브리어 | 424 | 20424 |
EBCDIC - 아이슬란드어(유로) | 871 | 1149 |
EBCDIC - 아이슬란드어 | 871 | 20871 |
EBCDIC - 국제(유로) | 500 | 1148 |
EBCDIC - 국제 | 500 | 500 |
EBCDIC - 이탈리아(유로) | 280 | 1144 |
EBCDIC - 이탈리아 | 280 | 20280 |
EBCDIC - 라틴 아메리카/스페인(유로) | 284 | 1145 |
EBCDIC - 라틴 아메리카/스페인 | 284 | 20284 |
EBCDIC - 다국어/ROECE(라틴어-2) | 870 | 870 |
EBCDIC - 태국어 | 838 | 20838 |
EBCDIC - 터키어(라틴어-3) | 905 | 20905 |
EBCDIC - 터키어(라틴어-5) | 1026 | 1026 |
EBCDIC - 미국/캐나다(유로) | 37 | 1140 |
EBCDIC - 미국/ 캐나다 | 37 | 37 |
EBCDIC - 영국(유로) | 285 | 1146 |
EBCDIC - 영국 | 285 | 20285 |
ANSI
DRDA 서비스는 UNICODE 1208에서 변환된 아래 나열된 SBCS(단일 바이트 문자 집합) ANSI CCSID를 지원합니다.
Name | CCSID | NLS 코드 페이지 |
---|---|---|
ANSI - 아랍어 | 1256 | 1256 |
ANSI - 발트어 | 1257 | 1257 |
ANSI - 중앙 유럽 | 1250 | 1250 |
ANSI - 키릴 자모 | 1251 | 1251 |
ANSI - 그리스어 | 1253 | 1253 |
ANSI - 히브리어 | 1255 | 1255 |
ANSI - 라틴어 I | 1252 | 1252 |
ANSI - 터키어 | 1254 | 1254 |
ANSI - 아랍어 | 1256 | 1256 |
성능
이 항목에는 DRDA 서비스를 사용할 때 성능을 최대화하는 데 도움이 되는 정보가 포함되어 있습니다.
인증 및 암호화
인증
DRDA 서비스는 Microsoft Enterprise Single Sign-On 사용하여 인바운드 DRDA 애플리케이션 요청자(예: z/OS RACF 사용자 식별자 및 암호용 DB2) 사용자 자격 증명을 아웃바운드 SQL 클라이언트에 인증하여 데이터베이스 연결을 SQL Server(예: Windows Active Directory 계정과의 통합 보안) 사용자 자격 증명을 사용합니다. ESSO 대신 매핑된 인증을 사용하도록 MsDrdaService를 구성할 수 있습니다. MsDrdaService.exe.config mappedAuthenticationDomain 특성은 Microsoft Enterprise Single Sign-On을 사용할 때가 아니라 통합 보안 지원 공급자 인터페이스(SSPI)를 사용하여 Windows 인증 구성된 SQL Server 연결할 때 바인딩된 DRDA 클라이언트 자격 증명(사용자 이름 및 암호)을 매핑할 Microsoft Windows Active Directory 도메인을 DRDA 서비스에 지시합니다. DRDA 서비스는 구성된 기간 동안 Microsoft Enterprise Single Sign-On 및 매핑된 인증 도메인 기능에서 가져온 보안 토큰을 캐시합니다. 이 토큰은 SSPI(통합 보안 지원 공급자 인터페이스)를 사용하여 Windows 인증 구성된 SQL Server 연결할 때 사용할 수 있습니다. securityTokenTimeout 특성은 DRDA 서버에 보안 토큰을 일정 기간 동안 유지하도록 지시한 후 새 CID(Windows 클라이언트 식별자)를 얻습니다. 이 선택적 특성은 기간 값을 허용합니다. 기본값은 PT8H입니다(기간은 8시간). 성능을 향상시키기 위해 더 긴 기간 동안 ESSO 보안 토큰 시간 제한 값을 조정할 수 있습니다.
암호화
DRDA 서비스는 데이터 공급자가 DES(데이터 암호화 표준) 기술, SSL(Secure Sockets Layer) V3.0 및 TLS(전송 계층 보안) V1.0을 사용하여 인증 및 데이터 암호화를 지원합니다. 또한 DRDA 서비스는 AES(Advanced Encryption Standard) 암호화를 사용하는 데이터 암호화만 지원합니다. 이러한 암호화 메커니즘은 성능에 영향을 미칠 수 있습니다.
연결
SQL Server 연결
DRDA용 서비스는 SQL Server 및 기본 SQL 네트워크 클라이언트용 ADO.NET Framework Data Provider를 사용하여 SQL Server 데이터베이스에 연결합니다. 로컬 SQL Server instance 연결할 때 네트워크 라이브러리=dbmslpcn을 지정하여 SQL 클라이언트가 TCP/IP 네트워크 연결이 아닌 공유 메모리를 사용하여 SQL Server 연결하도록 지시합니다. 연결 시작 시간을 줄이려면 연결 문자열 Pooling=true를 설정하여 SQL SERVER 연결 풀링을 사용하여 DRDA 서비스에서 닫을 때 새로 만든 연결을 풀에 추가하도록 SQL 클라이언트에 지시합니다. 로컬 서버에 미치는 영향을 조정하려면 연결 문자열 최대 풀 크기를 설정하여 SQL 클라이언트가 연결 풀에 유지해야 하는 최대 연결 수를 정의합니다. 기본값은 연결 시작 시간을 더 줄일 100.To 있습니다. msDrdaService 내부 연결 풀을 사용하고, 바인딩된 DRDA AR 클라이언트 연결 및 인증 자격 증명을 아웃바운드 SQL Server 데이터베이스 연결 및 자격 증명에 매핑하고, connectionCacheSize 특성을 설정하여 SQL SERVER DRDA 서비스가 SQL 클라이언트 연결 풀에 캐시할 컴퓨터 연결입니다. 이 선택적 특성은 정수 값을 허용합니다. 기본값은 1000입니다. connectionCacheTimeout 특성은 DRDA 서버에 새 SQL 클라이언트 연결을 가져오기 위해 일정 기간 동안 풀된 연결을 유지하도록 지시합니다. 이 선택적 특성은 기간 값을 허용합니다. 기본값은 PT8H입니다(기간은 8시간).
연결 장애 조치(failover)
DRDA 서비스는 그룹 내에서 작동하여 내결함성 장애 조치(failover)를 제공할 수 있습니다. 그룹은 로컬 서비스 역할(기본 또는 보조), 사용 가능한 장애 조치(failover) 파트너 서버, 그룹 내 서버의 상태를 모니터링하기 위한 ping 간격을 지정하여 정의됩니다. pingInterval 특성은 EXCSAT(Exchange Server 특성) 흐름을 실행하고 EXCSATRD(EXCSAT 회신 데이터)를 확인하여 파트너 서버 컴퓨터의 상태를 모니터링하는 빈도를 DRDA 서비스에 지시합니다. 이 선택적 특성은 정수 값을 허용합니다. 기본값은 10000밀리초(10초)입니다.
플랫폼 호환성
패키지 프로시저 캐시
DRDA 서비스는 해당 SQL Server 저장 프로시저에 대해 SQL Server CALL 문을 실행하여 DRDA EXCSQLSTT(SQL 문 실행) 및 OPNQRY(Open Query) 명령을 처리합니다. CALL 문을 실행하기 전에 DRDA 서비스는 문 유형(SELECT, INSERT, UPDATE, DELETE), 커서 형식(WITH HOLD), 매개 변수 데이터 형식(예: CHAR FOR BIT) 및 기타 특성(예: 결과가 있음)을 확인할 SQL Server 저장 프로시저에 대한 메타데이터를 가져옵니다. 메타데이터를 가져온 후 DRDA 서비스는 다음에 이 패키지 섹션을 실행할 때 성능을 향상시키기 위해 패키지 프로시저 캐시에서 구성된 간격에 대해 매핑된 프로시저 이름을 포함하여 이 정보를 캐시합니다. packageProcedureCacheFlush 특성은 지정된 시간 간격 후에 패키지 프로시저 캐시를 플러시하도록 DRDA 서버에 지시합니다. 이 선택적 특성은 기간 값을 허용합니다. 기본값은 P1D(기간은 1일)입니다. packageProcedureLastInvoke 특성은 지정된 시간 간격 후에 패키지 프로시저 캐시에 있는 개체의 이름을 텍스트 파일 %DRDAROOT%\LastInvokePackageProcedures.txt 쓰도록 DRDA 서버에 지시합니다. 이 선택적 특성은 기간 값을 허용합니다. 기본값은 P7D입니다(기간은 7일). 서비스를 시작할 때 DRDA 서비스는 파일에 나열된 프로시저에 대한 스키마를 미리 가져오기 위해 이 텍스트 파일을 로드합니다. 서비스 시작의 성능을 향상시키기 위해 이 파일을 편집하고 불필요한 저장 프로시저 이름을 제거할 수 있습니다. LastInvokePackageProcedures.txt 파일의 읽기 및 쓰기를 사용하지 않도록 설정하려면 시간 범위를 PT0S(기간 0초)로 설정합니다.
SQL 구문
DRDA 서비스에는 패키지를 바인딩하여 정적 및 동적 SQL 문을 실행하는 데 사용할 수 있는 제한된 DB2 ANSI-SQL Server T-SQL 명령 구문 변환기가 있습니다. 필요에 따라 DRDA 서비스는 SQL Server CLR 기반 함수의 형태로 호환되는 DB2 함수를 추가로 제공합니다. SQL 구문 변환의 성능을 향상시키려면 DRDA 서비스 CLR 기반 함수를 사용하도록 설정합니다. DRDA 서비스는 DB2 패키지의 정적 SQL을 SQL Server 저장 프로시저로 변환합니다. DRDA를 처리할 때 포함된 SQL DECLARE CURSOR 문을 포함하여 SQL 문 바인딩 및 바인딩 명령이 시작됩니다. 성능을 향상시키기 위해 DRDA 서비스는 동시 업데이트를 지원하기 위해 패키지 또는 커서가 단일 행 페치에 대해 정의되지 않는 한 가능한 경우 페치당 여러 행을 반환합니다. 최적의 읽기 성능을 위해 SELECT 문을 정의할 때 개발자는 FOR FETCH ONLY 또는 FOR READ ONLY 절을 포함해야 합니다.
격리 수준
DRDA 서비스는 DRDA EXCSQLSTT(SQL 문 실행)의 IBM DB2 격리 수준을 ADO.NET Provider for SQL Server 트랜잭션 개체의 SQL Server 트랜잭션 수준에 매핑합니다. 성능을 향상시키고 데이터베이스 개체에 대한 경합을 줄이려면 개발자는 SQL Server 격리 수준 읽기 커밋에 매핑되는 DB2 격리 수준 CS(커서 안정성)를 활용해야 합니다.
날짜 시간 형식 및 변환
DRDA 서비스는 특정 날짜 시간 및 문자 데이터 형식에 대해 동적 및 정적 SQL 문을 처리할 때 원본에서 대상 형식으로 문자열 리터럴 날짜 시간 값의 형식을 지정합니다. conversionFormats 요소에는 DB2 및 SQL Server 날짜/시간 형식으로 변환하기 위한 dateMasks, timeMasks 및 dateTimeMasks가 포함되어 있으며 이러한 변환을 수행할 시기를 DRDA 서비스에 지시합니다. 날짜 시간 형식 값과 문자열을 구문 분석, 인코딩 및 디코딩하면 추가 DRDA 서비스 리소스가 사용됩니다.
코드 페이지 변환
DRDA 서비스는 기본 HIS 인코더 구성 요소 및 NLS(Windows National Language Support) 시스템 구성 요소를 사용하여 코드 페이지를 매핑하고 사용자 지정 코드 페이지 변환을 지원합니다. 필요에 따라 DRDA 서비스는 개별 코드 포인트를 변환하여 사용자 지정 코드 페이지를 지원할 수 있습니다. DRDA 서버는 사용자 지정 코드 페이지 변환을 지원할 때 추가 리소스를 사용합니다.
데이터 정렬 매핑
SQL Server DRDA 클라이언트 프로그램에서 예상한 것과 다른 순서로 쿼리 결과를 정렬할 수 있습니다. 예를 들어 IT 전문가는 EBCDIC 데이터 정렬을 사용하도록 ANSI 데이터 정렬 및 z/OS 데이터베이스용 DB2를 사용하도록 SQL Server 데이터베이스를 구성할 수 있습니다. DRDA 서비스는 SELECT 문을 DB2 ORDER BY COLLATION_KEY(데이터 정렬 이름) 구문에서 SQL Server T-SQL ORDER BY COLLATE(collation_name) 구문으로 변환하여 DB2 데이터 정렬 이름 값에서 SQL Server collation_name 값으로 매핑하여 호환되는 쿼리 결과를 제공할 수 있습니다. DRDA 서비스는 기본 ORDER BY 데이터 정렬 이름에 따라 ORDER BY 절에 COLLATE 절을 추가할 수 있습니다. DRDA 서비스 구문 분석 및 SQL 구문의 대체 또는 추가는 추가 리소스를 사용합니다.
추적
DRDA 서비스는 텍스트, 콘솔, 이벤트 로그 및 사용자 지정 구성 요소에 정보를 기록하는 공유 수신기 집합을 지원합니다. 시스템입니다. MsDrdaService.exe.config 파일의 hostIntegration.drdaAs.drdaService 섹션의 진단 요소는 다양한 수신기를 정의하고 제어합니다. traceLevel 특성은 DRDA 서비스에 정의된 정보 컬렉션을 최소에서 최대 추적 수준으로 추적하도록 지시합니다. 이 선택적 특성은 정수 값을 허용합니다. 기본값은 0이며 추적을 사용하지 않도록 설정합니다. DRDA 서비스는 추적 데이터를 추적 수신기에 자동으로 플러시할 수 있으므로 추적 데이터가 캡처되지만 디스크 I/O가 증가하고 전반적인 시스템 성능이 저하됩니다. 성능을 향상하려면 autoFlush=false를 설정하여 자동 추적 플러시를 사용하지 않도록 설정합니다.
성능 모니터링
성능을 측정하기 위해 DRDA 서비스는 성능 카운터를 제공합니다. DRDA 서비스 성능 카운터는 열린 연결, 열린 문, 패킷 및 전송/수신된 바이트, 평균 처리 시간, 명령 실행, 데이터 페치 및 트랜잭션 커밋/롤백에 대한 정보를 캡처합니다.
구성
성능을 측정하기 위해 DRDA 서비스는 Windows 성능 모니터 사용할 성능 카운터를 제공합니다. peformanceCountersOn 특성은 성능 카운터에 정보를 수집하도록 DRDA 서비스에 지시합니다. 이 선택적 특성은 부울 값을 허용합니다. 기본값은 False입니다. 자세한 내용은 성능 섹션을 참조하세요. 또한 Windows 성능 모니터 대한 자세한 내용은 성능 카운터(https://go.microsoft.com/fwlink/?LinkID=119211)를 참조하세요.
Counters
DRDA 서비스는 이러한 성능 모니터 카운터에 데이터를 출력합니다.
Active Sessions
활성 SQL Connections
Active Transactions
수신된 바이트
Bytes Received/sec
보낸 바이트
Bytes Sent/sec
트랜잭션
트랜잭션 커밋
Transactions Commits/sec
트랜잭션 롤백
Transactions/sec
DRDA 서비스 인스턴스
DRDA 서비스는 서비스별 또는 연결별 "instance" 기준으로 성능 모니터 카운터를 제공합니다. 여기서 "instance"은 프로세스 또는 세션일 수 있습니다.