Servicio para DRDA (operaciones)

En las secciones siguientes se proporciona ayuda para el funcionamiento del servicio Microsoft para DRDA (servicio DRDA).

Administración del servicio DRDA

Inicio del servicio DRDA

Puede iniciar el servicio DRDA para que se ejecute como un servicio o una aplicación de consola.

Servicio de Windows

Con una ventana de comandos, puede iniciar el servicio DRDA para que se ejecute como servicio, en las credenciales definidas en la configuración del servicio.

  1. En el menú Inicio, seleccione Todos los programas, Microsoft Visual Studio 2010 y Visual Studio Tools, haga clic con el botón secundario del mouse en Símbolo del sistema de x64 Win64 para Visual Studio 2010 y, a continuación, haga clic en Ejecutar como administrador. Aparecerá el cuadro de diálogo Control de cuentas de usuario. Haga clic en Sí para continuar.

  2. En el símbolo del sistema, escriba net start msdrdaservice y presione Entrar.

    C:\Windows\system32>net start msdrdaservice
    The Microsoft Service for DRDA service is starting.
    The Microsoft Service for DRDA service was started successfully.
    

Aplicación de consola

Con una ventana de comandos, puede ejecutar el servicio DRDA para que se ejecute como una aplicación de consola, en las credenciales de la ventana de comandos.

  1. En el menú Inicio, seleccione Todos los programas, Microsoft Visual Studio 2010 y Visual Studio Tools, haga clic con el botón secundario del mouse en Símbolo del sistema de x64 Win64 para Visual Studio 2010 y, a continuación, haga clic en Ejecutar como administrador. Aparecerá el cuadro de diálogo Control de cuentas de usuario. Haga clic en Sí para continuar.

  2. En el símbolo del sistema, escriba cd C:\Windows\system32cd> C:\Program Files\Microsoft Host Integration Server 2013\system y presione Entrar.

    C:\Program Files\Microsoft Host Integration Server 2013\system>MsDrdaService.exe -c
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>msdrdaservice -c
    Information:0:0:[Oct 10 2012 16:46:11.581] Microsoft Service for DRDA (build: 9.0.1651.0 )
    Information:0:0:[Oct 10 2012 16:46:11.597] TCP communication manager listening on port 446
    

Nota

El agente de escucha de seguimiento del servicio DRDA generará información en la ventana de la consola.

Detener el servicio DRDA

Puede detener el servicio DRDA cuando se ejecuta como un servicio o una aplicación de consola.

Servicio de Windows

Con una ventana de comandos, puede detener el servicio DRDA cuando se ejecuta como servicio.

  1. En el menú Inicio, seleccione Todos los programas, Microsoft Visual Studio 2010 y Visual Studio Tools, haga clic con el botón secundario del mouse en Símbolo del sistema de x64 Win64 para Visual Studio 2010 y, a continuación, haga clic en Ejecutar como administrador. Aparecerá el cuadro de diálogo Control de cuentas de usuario. Haga clic en Sí para continuar.

  2. En el símbolo del sistema, escriba net stop msdrdaservice y presione Entrar.

    C:\Windows\system32>net stop msdrdaservice
    The Microsoft Service for DRDA service is stopping.
    The Microsoft Service for DRDA service was stopped successfully.
    

Aplicación de consola

Con una ventana de comandos, puede detener el servicio DRDA cuando se ejecuta como una aplicación de consola.

  • En el símbolo del sistema, escriba CTRL+C.

    C:\Windows\system32>
    

Nota

El servicio DRDA deja de ejecutarse como una aplicación de consola y aparece el símbolo del sistema.

Conexión de clientes DRDA a bases de datos de SQL Server

El servicio DRDA procesa las solicitudes del cliente DRDA en conexiones a bases de datos de SQL Server locales y remotas. En este tema se describe el funcionamiento de las operaciones de conexión de base de datos MsDrdaService.

Conexiones de cliente

Al iniciar el servicio, el servicio DRDA escribirá una entrada informativa en los agentes de escucha de seguimiento internos del servicio DRDA, notificando al profesional de TI del puerto en el que TCP Communication Manager escucha las conexiones cliente del solicitante de aplicaciones DRDA enlazadas.

Information:0:0:[Oct 10 2012 17:00:34.547] TCP communication manager listening on port 446

Los clientes del solicitante de aplicaciones DRDA remotos se conectan al servicio DRDA local a través de una conexión de red TCP/IP. El cliente DRDA envía flujos de protocolo DRDA EXCSAT (atributos Exchange Server), ACCSEC (seguridad de acceso) y flujos de protocolo ACCRDB (Access Relational Database) y formatos de datos, a los que responde el servicio DRDA con respuestas del protocolo DRDA.

Authentication

Para proporcionar autenticación integrada, el servicio DRDA puede combinar validación y asignación de credenciales de entrada mediante Microsoft Enterprise Single Sign-On (ESSO), con autenticación de SQL Server de salida mediante Windows SSPI (interfaz del proveedor de compatibilidad con seguridad). Por ejemplo, el servicio DRDA puede trabajar con ESSO para asignar un nombre de usuario y una contraseña de IBM RACF (Resource Access Control Facility) a un dominio o nombre de usuario de Microsoft Windows Active Directory, con el que conectarse con la seguridad integrada a una base de datos SQL Server remota.

Conexiones de SQL Server

El servicio DRDA se comunica con bases de datos locales o remotas de SQL Server ascendentes mediante el proveedor de ADO.NET Framework para SQL Server. El SQL cliente subyacente tiene acceso SQL Server a través de una conexión en memoria o a través de una red mediante canalizaciones con nombre o TCP/IP. El cliente de SQL admite características opcionales de cifrado y conmutación por error para mejorar la seguridad y la confiabilidad. El servicio DRDA admite características opcionales de inicio de sesión único y agrupación para mejorar la seguridad y el rendimiento. Puede editar el archivo MsDrdaService.exe.config para indicar al servicio DRDA cómo administrar el cliente de SQL para SQL Server conexiones.

Conexiones de conmutación por error

El servicio DRDA puede funcionar en grupos de dos (2) servidores, uno por equipo, para proporcionar tolerancia a errores básica. Cuando un cliente AR de DRDA se conecta a una base de datos de SQL Server, el servicio DRDA devuelve DRDA SRVLST (Server List) con una lista ponderada de instancias del servidor de datos. En el caso de la conmutación por error de un servicio DRDA principal, el AR de DRDA puede usar esta información para conectarse al miembro alternativo de un par de equipos del servicio DRDA. Esta tecnología, combinada con la agrupación en clúster o la creación de reflejo de SQL Server, puede ofrecer un nivel razonable de protección mediante una conmutación por error tolerante a errores.

Failover Connections

En las ilustraciones anteriores se muestra cómo los clientes DRDA pueden volver a conectarse al servidor asociado del servicio DRDA en escenarios de conmutación por error.

Procesamiento de enlaces de paquetes

El servicio DRDA convierte paquetes estáticos de SQL para DB2 en procedimientos almacenados de SQL Server al procesar los comandos Comenzar enlace (BGNBND) y Enlazar instrucción SQL (BNDSQLSTT) de DRDA en instrucciones DROP PROCEDURE y CREATE PROCEDURE de SQL Server. Un flujo BGNBND de DRDA contendrá uno o varios flujos BNDSQLSTT, uno por SQL instrucción almacenada dentro del paquete. El servicio DRDA asigna una sección de paquete de SQL estática de DRDA (con una instrucción) a una SQL Server procedimiento almacenado. El servicio DRDA asigna o conserva las opciones de enlace del paquete BGNBND en los comentarios dentro de los procedimientos almacenados y las propiedades opcionales del procedimiento almacenado extendido. El servicio DRDA usa un transformador de SQL interno para convertir SQL sintaxis de comandos, parámetros, tipos de datos, cursores y conjuntos de resultados. Opcionalmente, puede desarrollar un agente de escucha de enlace de paquetes personalizado para procesar los paquetes de forma interactiva con el servicio DRDA o fuera de línea.

Enlazar paquete a archivo XML

El servicio DRDA puede procesar un único flujo BGNBND en un SQL estático para el archivo XML del paquete DB2, conservando las opciones y instrucciones de enlace originales definidas por los flujos BNDSQLSTT de DRDA.

Enlazar el paquete al procedimiento almacenado

El servicio DRDA procesará un único flujo BGNBND en un procedimiento almacenado SQL Server, transformando las instrucciones originales según lo definido por los flujos BNDSQLSTT de DRDA en la sintaxis SQL Server correspondiente.

Create Procedure (instrucción)

El agente de escucha de enlace del paquete interno del servicio DRDA y la mayoría de los agentes de escucha personalizados incluirán una cláusula IF EXISTS con la instrucción DROP PROCEDURE, según el valor de PKGRPLOPT (opción de reemplazo de paquetes) en el flujo del protocolo DRDA BGNBND (Begin Bind). El valor predeterminado de PKGRPLOPT es PKGRPLALW (se permite el reemplazo de paquetes). Opcionalmente, se puede especificar el valor PKGRPLNA (reemplazo de paquetes no permitido).

El agente de escucha de enlace del paquete interno del servicio DRDA y la mayoría de los agentes de escucha personalizados incluirán comentarios justo antes del texto de la instrucción CREATE PROCEDURE, que informa al tiempo de ejecución del servicio DRDA sobre cómo ejecutar los procedimientos almacenados.

Conjunto de resultados de la consulta

Este comentario indica al servicio DRDA que use sqlClient DataReader para devolver los resultados de la instrucción SELECT.

/****** RETURN RESULTSET ******/

Parámetros de salida de consulta

Este comentario indica al servicio DRDA que prepare los parámetros OUTPUT al llamar al procedimiento con el que devolver los datos de la consulta.

/****** HAS OUTPUT PARAMS ******/

Cursor con suspensión

Este comentario indica al servicio DRDA que mantenga los cursores abiertos dentro de una transacción.

/****** CURSOR WITH HOLD ******/

Opciones de enlace

Este comentario conserva el entorno de ejecución BNDOPT (Opciones de enlace) de DRDA en tiempo de ejecución para su uso futuro.

/****** 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> ******/

Omitir comandos Bind y Execute Package

Los programas cliente DRDA enlazarán un conjunto de paquetes estándar que contienen instrucciones DECLARE CURSOR básicas, con las que definir cómo capturar y devolver resultados en instrucciones SELECT y CALL en IBM DB2 para z/OS. El servidor DRDA no necesita convertir estos paquetes en SQL Server procedimientos almacenados. Para guardar el procesamiento de enlaces y el espacio de almacenamiento, indique al servidor DRDA que omita estos paquetes; para ello, lea un archivo IgnoreStandardPackages.txt que contenga una lista delimitada de valores de nombre de paquete completos.

COLIDPKGNAM
SYSIBM*
*MSCS001
*MSUR001
*MSRS001
*MSRR001
*MSNC001
NULLIDSYSSH*

Contenido del archivo de IgnoreStandardPackages.txt de existencias.

La primera fila del archivo contiene un conjunto delimitado por tabulaciones de dos valores que representan encabezados de columna. El primer encabezado de columna es el COLID (identificador de colección). El segundo encabezado de columna es el PKGNAM (nombre del paquete). Las filas restantes del archivo contienen un conjunto de valores delimitados por tabulaciones para el identificador de colección y el nombre del paquete.

Un asterisco en lugar de un valor denota cualquier valor. Microsoft DRDA Client ofrece un conjunto de herramientas para definir el conjunto estándar de paquetes en una o varias colecciones definidas por el usuario. En este caso, el carácter comodín indica al servidor DRDA que omita los comandos de enlace y ejecución que hacen referencia a los paquetes estándar del cliente DRDA de Microsoft, independientemente de la colección en la que se definan los paquetes.

Un asterisco al final de una cadena denota un valor parcial. Ibm DB2 Conectar cliente DRDA ofrece un conjunto de herramientas para definir el conjunto estándar de paquetes en una colección NULLID con un valor de nombre de paquete inicial de SYSSH. En este caso, el carácter comodín indica al servidor DRDA que omita los comandos de enlace y ejecución que hacen referencia al conjunto completo de paquetes estándar de CLIENTE DRDA de IBM DB2 Conectar.

Tipo de datos

El servicio DRDA proporciona compatibilidad entre productos y tecnologías de proveedores heterogéneos, proporcionando estas conversiones de plataforma.

Asignaciones de tipos de datos de DB2 a SQL Server

El servicio DRDA asigna DB2 a SQL Server tipos de datos en función de un conjunto definido de asignaciones almacenadas en un archivo Db2ToSql.xml en el directorio %DRDAROOT%\system. Por ejemplo, el servicio DRDA convierte los valores y formatos DE TIMESTAMP de DB2 definidos en flujos de protocolo DRDA y datos con formato en SQL Server valores y formatos DATETIME2(6), tal y como se define en procedimientos almacenados e instrucciones de SQL dinámicas a través del proveedor de datos de Microsoft ADO.NET Framework para SQL Server interfaces.

Tipo db2 de origen Tipo de SQL Server de destino
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 IMAGEN
LONG VARCHAR TEXT
GRAPHIC NCHAR
VARGRAPHIC NVARCHAR
GRAPHIC VARYING NVARCHAR
SMALLINT SMALLINT
INT INT
INTEGER INT
bigint bigint
DECIMAL DECIMAL
NUMERIC DECIMAL
real real
FLOAT FLOAT
DOUBLE FLOAT
DOUBLE PRECISION FLOAT
BLOB IMAGEN
BINARY LARGE OBJECT IMAGEN
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

SQL Server a asignaciones de tipos de datos DB2

El servicio DRDA asigna DB2 a SQL Server tipos de datos basados en un conjunto definido de asignaciones almacenadas en un archivo MsSqlToDb2.xml en el directorio %DRDAROOT%\system. Por ejemplo, el servicio DRDA convierte SQL Server valores y formatos MONEY definidos por el proveedor de datos de Microsoft ADO.NET Framework para SQL Server interfaces en valores y formatos DECIMAL de DB2, tal como se define en flujos de protocolo DRDA y datos con formato.

Tipo de SQL Server de destino Tipo db2 de origen
SMALLINT SMALLINT
INT ENTERO
REAL 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
IMAGEN 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)

Configuración de asignaciones de tipos de datos

El servicio DRDA convierte los tipos de datos base de DB2 a SQL Server y de SQL Server a DB2. Opcionalmente, puede editar estos archivos XML para modificar las asignaciones de tipos de datos base.

C:\Program Files\Microsoft Service for DRDA\system\ DB2ToMSSql.xml
C:\Program Files\Microsoft Service for DRDA\system\ MSSQLToDB2.xml

Codificación de configuración regional

El servicio DRDA admite codificaciones de cadena específicas de la configuración regional.

EBCDIC

El servicio DRDA admite los CCSID de SBCS (juego de caracteres de un solo byte) enumerados a continuación convertidos a y desde UNICODE 1208.

Nombre CCSID Página de códigos NLS
EBCDIC - Árabe 420 20420
EBCDIC - Cirílico (ruso) 880 20880
EBCDIC - Cirílico (serbio, búlgaro) 1025 21025
EBCDIC - Dinamarca/ Noruega (Euro) 277 1142
EBCDIC - Dinamarca/ Noruega 277 20277
EBCDIC - Finlandia/ Suecia (Euro) 278 1143
EBCDIC - Finlandia/ Suecia 278 20278
EBCDIC - Francia (Euro) 297 1147
EBCDIC - Francia 297 20297
EBCDIC - Alemania (Euro) 273 1141
EBCDIC - Alemania 273 20273
EBCDIC - Griego (moderno) 875 875
EBCDIC - Griego 423 20423
EBCDIC - Hebreo 424 20424
EBCDIC - Islandés (Euro) 871 1149
EBCDIC - Islandés 871 20871
EBCDIC - Internacional (Euro) 500 1148
EBCDIC - Internacional 500 500
EBCDIC - Italia (Euro) 280 1144
EBCDIC - Italia 280 20280
EBCDIC - América Latina/España (Euro) 284 1145
EBCDIC - América Latina/España 284 20284
EBCDIC - Multilingüe/ ROECE (Latino-2) 870 870
EBCDIC - Tailandés 838 20838
EBCDIC - Turco (Latino-3) 905 20905
EBCDIC - Turco (Latino-5) 1026 1026
EBCDIC - Estados Unidos/ Canadá (Euro) 37 1140
EBCDIC - EE. UU./ Canadá 37 37
EBCDIC - Reino Unido (Euro) 285 1146
EBCDIC - Reino Unido 285 20285

ANSI

El servicio DRDA admite los SBCS (juego de caracteres de un solo byte) ANSI CONVERTIDOs a y desde UNICODE 1208.

Nombre CCSID Página de códigos NLS
ANSI - Árabe 1256 1256
ANSI - Báltico 1257 1257
ANSI - Europa central 1250 1250
ANSI - Cirílico 1251 1251
ANSI - Griego 1253 1253
ANSI - Hebreo 1255 1255
ANSI - Latín I 1252 1252
ANSI - Turco 1254 1254
ANSI - Árabe 1256 1256

Rendimiento

Este tema contiene información que le ayudará a maximizar el rendimiento al usar el servicio DRDA.

Autenticación y cifrado

Authentication

El servicio DRDA utiliza microsoft Enterprise única Sign-On para autenticar el solicitante de aplicación DRDA enlazado (por ejemplo, DB2 para el identificador de usuario y la contraseña de RACF de z/OS) para las credenciales de usuario de SQL cliente enlazadas a SQL Server conexión de base de datos (por ejemplo, Seguridad integrada con cuentas de Active Directory Windows). Como alternativa al inicio de sesión único, puede configurar MsDrdaService para usar la autenticación asignada. El atributo mappedAuthenticationDomain del MsDrdaService.exe.config indica al servicio DRDA al que microsoft Windows dominio de Active Directory asignar las credenciales de cliente DRDA enlazadas (nombre de usuario y contraseña), al conectarse a SQL Server configurada para autenticación de Windows mediante la interfaz integrada del proveedor de soporte técnico de seguridad (SSPI), pero no cuando se usa Microsoft Enterprise inicio de sesión único. El servicio DRDA almacenará en caché el token de seguridad obtenido de Microsoft Enterprise características de dominio de Sign-On autenticación única y de autenticación asignada durante un tiempo configurado, con el que se usará al conectarse a SQL Server configurado para autenticación de Windows mediante la interfaz integrada del proveedor de compatibilidad de seguridad (SSPI). El atributo securityTokenTimeout indica al servidor DRDA que conserve un token de seguridad durante un período de tiempo, después del cual obtener un nuevo identificador de cliente (CID) de Windows. Este atributo opcional acepta un valor de duración. El valor predeterminado es PT8H (el período de tiempo es de 8 horas). Para mejorar el rendimiento, puede ajustar el valor de tiempo de espera del token de seguridad de ESSO durante más tiempo.

Cifrado

El servicio DRDA admite la autenticación y el cifrado de datos mediante tecnologías estándar de cifrado de datos (DES), Capa de sockets seguros (SSL) V3.0 y Seguridad de la capa de transporte (TLS) V1.0. Además, el servicio DRDA solo admite el cifrado de datos mediante el cifrado estándar de cifrado avanzado (AES). Estos mecanismos de cifrado pueden afectar al rendimiento.

Conexión

conexión de SQL Server

El servicio para DRDA se conecta a una base de datos de SQL Server mediante el proveedor de datos de ADO.NET Framework para SQL Server y el cliente de red SQL subyacente. Al conectarse a una instancia de SQL Server local, especifique network Library=dbmslpcn para indicar al cliente de SQL que se conecte a SQL Server mediante memoria compartida en lugar de una conexión de red TCP/IP. Para reducir el tiempo de inicio de la conexión, use SQL Server agrupación de conexiones estableciendo Pooling=true en la cadena de conexión para indicar al cliente de SQL que agregue las conexiones recién creadas al grupo cuando lo cierre el servicio DRDA. Para ajustar el impacto en el servidor local, establezca el tamaño máximo del grupo en la cadena de conexión para definir el número máximo de conexiones que el cliente de SQL debe conservar en el grupo de conexiones. El valor predeterminado es 100.To reducir aún más el tiempo de inicio de la conexión, usar el grupo de conexiones internas de MsDrdaService, asignar las conexiones de cliente AR de DRDA enlazadas y las credenciales de autenticación SQL Server a las credenciales y las conexiones de base de datos enlazadas sin límite, estableciendo un atributo connectionCacheSize para definir el número de SQL cliente para SQL Server conexiones de equipo que el servicio DRDA almacenará en caché en la SQL grupo de conexiones de cliente. Este atributo opcional acepta un valor entero. El valor predeterminado es 1000.El atributo connectionCacheTimeout indica al servidor DRDA que conserve una conexión agrupada durante un período de tiempo, después de lo cual obtener una nueva conexión de cliente SQL. Este atributo opcional acepta un valor de duración. El valor predeterminado es PT8H (el período de tiempo es de 8 horas).

Conmutación por error de conexión

El servicio DRDA puede funcionar dentro de un grupo para proporcionar conmutación por error tolerante a errores. El grupo se define mediante la especificación de un rol de servicio local (principal o secundario), servidores asociados de conmutación por error disponibles y un intervalo de ping para supervisar el estado de los servidores dentro de un grupo. El atributo pingInterval indica al servicio DRDA con qué frecuencia supervisar el estado de los equipos del servidor asociado, ejecutando un flujo EXCSAT (atributo Exchange Server) y comprobando si hay un EXCSATRD (datos de respuesta de EXCSAT). Este atributo opcional acepta un valor entero. El valor predeterminado es 10 000 milisegundos (10 segundos).

Compatibilidad de plataformas

Caché de procedimientos de paquete

El servicio DRDA procesará los comandos DRDA EXCSQLSTT (Execute SQL Statement) y OPNQRY (Open Query) mediante la ejecución de una instrucción CALL de SQL Server en un procedimiento almacenado de SQL Server correspondiente. Antes de ejecutar la instrucción CALL, el servicio DRDA capturará metadatos para el procedimiento almacenado SQL Server con el que comprobar el tipo de instrucción (SELECT, INSERT, UPDATE, DELETE), el tipo de cursor (WITH HOLD), los tipos de datos de parámetro (por ejemplo, CHAR FOR BIT) y otros atributos (por ejemplo, tiene resultados). Después de capturar los metadatos, el servicio DRDA almacenará en caché esta información, incluido el nombre del procedimiento asignado, para un intervalo configurado en una caché de procedimientos de paquete para mejorar el rendimiento al ejecutar esta sección del paquete. El atributo packageProcedureCacheFlush indica al servidor DRDA que vacíe la caché de procedimientos del paquete después de un intervalo de tiempo especificado. Este atributo opcional acepta un valor de duración. El valor predeterminado es P1D (el período de tiempo es 1 día). El atributo packageProcedureLastInvoke indica al servidor DRDA que escriba los nombres de los objetos de la memoria caché del procedimiento de paquete en un archivo de texto, %DRDAROOT%\LastInvokePackageProcedures.txt, después de un intervalo de tiempo especificado. Este atributo opcional acepta un valor de duración. El valor predeterminado es P7D (el período de tiempo es 7 días). En el inicio del servicio, el servicio DRDA cargará este archivo de texto para capturar previamente el esquema de los procedimientos enumerados en el archivo. Para mejorar el rendimiento del inicio del servicio, puede editar este archivo y quitar nombres de procedimientos almacenados innecesarios. Para deshabilitar la lectura y escritura del archivo LastInvokePackageProcedures.txt, establezca el intervalo de tiempo en PT0S (período de tiempo cero segundos).

Sintaxis SQL

El servicio DRDA tiene un transformador limitado de sintaxis de comandos T-SQL de ANSI a SQL Server para DB2 y lo utiliza para enlazar paquetes, ejecutando instrucciones de SQL estáticas y dinámicas. Opcionalmente, el servicio DRDA ofrece otras funciones de DB2 compatibles en forma de funciones de SQL Server basadas en CLR. Para mejorar el rendimiento de las transformaciones de sintaxis de SQL, habilite las funciones basadas en CLR del servicio DRDA. El servicio DRDA transforma los SQL estáticos de los paquetes DB2 en procedimientos almacenados SQL Server, al procesar DRDA comienzan a enlazar y enlazar comandos de instrucciones SQL, incluidas las instrucciones DECLARE CURSOR de SQL insertadas. Para mejorar el rendimiento, el servicio DRDA devuelve varias filas por captura siempre que sea posible, a menos que el paquete o el cursor se defina para que la captura de fila única admita la actualización simultánea. Al definir instrucciones SELECT para obtener un rendimiento de lectura óptimo, el desarrollador debe incluir una cláusula FOR FETCH ONLY o FOR READ ONLY.

Nivel de aislamiento

El servicio DRDA asigna el nivel de aislamiento de IBM DB2 en el EXCSQLSTT de DRDA (Execute SQL Statement) al nivel de transacción de SQL Server en el proveedor de ADO.NET para SQL Server objeto de transacción. Para mejorar el rendimiento y reducir la contención en los objetos de base de datos, el desarrollador debe usar la estabilidad del cursor (CS) del nivel de aislamiento DB2 que se asigna a SQL Server nivel de aislamiento Read Committed.

Formatos y conversiones de fecha y hora

El servicio DRDA dará formato a valores de fecha y hora literales de cadena de origen y a formatos de destino al procesar instrucciones de SQL dinámicas y estáticas para tipos de datos de fecha y hora específicos. El elemento conversionFormats contiene dateMasks, timeMasks y dateTimeMasks para convertir a y desde DB2 y SQL Server formatos datetime e indica al servicio DRDA cuándo realizar estas transformaciones. El análisis, la codificación y la descodificación de cadenas hacia y desde los valores con formato de fecha y hora consumirán recursos adicionales del servicio DRDA.

Conversiones de páginas de códigos

El servicio DRDA asigna páginas de códigos y admite conversiones de páginas de códigos personalizadas mediante un componente de codificador de HIS subyacente y los componentes del sistema Windows National Language Support (NLS). Opcionalmente, el servicio DRDA puede convertir puntos de código individuales para admitir páginas de códigos personalizadas. El servidor DRDA consumirá recursos adicionales al admitir la conversión de página de códigos personalizada.

Asignaciones de intercalación

SQL Server puede intercalar los resultados de la consulta en un orden diferente al esperado por el programa cliente DRDA. Por ejemplo, un profesional de TI puede configurar una base de datos de SQL Server para usar una intercalación ANSI y una base de datos DB2 para z/OS para usar la intercalación EBCDIC. El servicio DRDA puede transformar una instrucción SELECT de la sintaxis DE COLLATION_KEY ORDER BY (nombre de intercalación) de DB2 para SQL Server sintaxis T-SQL ORDER BY COLLATE (collation_name), asignación de un valor de nombre de intercalación DB2 a un valor de SQL Server collation_name, para proporcionar resultados de consulta más compatibles. El servicio DRDA puede agregar una cláusula COLLATE a una cláusula ORDER BY, en función de un nombre de intercalación ORDER BY predeterminado. El análisis y la adición de SQL sintaxis del servicio DRDA consumirán recursos adicionales.

Traza

El servicio DRDA admite un conjunto de agentes de escucha compartidos para registrar información en texto, consola, registro de eventos y componente personalizado. El elemento system.diagnostics de la sección hostIntegration.drdaAs.drdaService del archivo MsDrdaService.exe.config define y controla los distintos agentes de escucha. El atributo traceLevel indica al servicio DRDA que realice un seguimiento de colecciones de información definidas, de un nivel mínimo a máximo de seguimiento. Este atributo opcional acepta un valor entero. El valor predeterminado es 0, que deshabilita el seguimiento. El servicio DRDA puede vaciar los datos de seguimiento automáticamente en los agentes de escucha de seguimiento, lo que garantiza que se capturan los datos de seguimiento, pero aumentará la E/S del disco y reducirá el rendimiento general del sistema. Para mejorar el rendimiento, establezca autoFlush=false a fin de deshabilitar el vaciado automático del seguimiento.

Monitor de rendimiento

Para medir el rendimiento, el servicio DRDA ofrece contadores de rendimiento. Los contadores de rendimiento del servicio DRDA capturan información sobre conexiones abiertas, instrucciones abiertas, paquetes y bytes enviados o recibidos, tiempo medio de procesamiento, ejecuciones de comandos, capturas de datos y confirmaciones o reversiones de transacciones.

Configuración

Para medir el rendimiento, el servicio DRDA ofrece contadores de rendimiento para su uso con Windows Monitor de rendimiento. El atributo peformanceCountersOn indica al servicio DRDA que recopile información en los contadores de rendimiento. Este atributo opcional acepta un valor booleano. El valor predeterminado es false. Para obtener más información, consulte la sección rendimiento. Además, para obtener más información sobre Windows Monitor de rendimiento, vea Contadores de rendimiento (https://go.microsoft.com/fwlink/?LinkID=119211).

Counters

El servicio DRDA envía datos a estos contadores de Monitor de rendimiento.

  1. Sesiones activas

  2. Conexiones de SQL activas

  3. Transacciones activas

  4. Bytes recibidos

  5. Bytes recibidos por segundo

  6. Bytes enviados

  7. Bytes enviados por segundo

  8. Transacciones

  9. Confirmaciones de transacciones

  10. Confirmaciones de transacciones/s

  11. Reversión de transacciones

  12. Transacciones/seg.

Instancias del servicio DRDA

El servicio DRDA ofrece Monitor de rendimiento contadores por servicio o por conexión "instancia", donde una "instancia" puede ser un proceso o sesión.