Partager via


Service pour DRDA (opérations)

Les sections suivantes fournissent de l’aide pour l’exploitation du service Microsoft pour DRDA (service DRDA).

Gestion du service DRDA

Démarrage du service DRDA

Vous pouvez démarrer le service DRDA pour qu’il s’exécute en tant qu’application de service ou de console.

Service Windows

À l’aide d’une fenêtre de commande, vous pouvez démarrer le service DRDA pour qu’il s’exécute en tant que service, sous les informations d’identification définies dans la configuration du service. Ouvrez une invite de commandes, entrez net start msdrdaservice, puis sélectionnez Entrée.

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

Application console

À l’aide d’une fenêtre de commande, vous pouvez exécuter le service DRDA en tant qu’application console, sous les informations d’identification de la fenêtre de commande.

  1. À partir d’une invite de commandes, entrez net stop msdrdaservice , puis appuyez sur Entrée.
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.
  1. À partir d’une invite de commandes, entrez msdrdaservice.exe -c , puis appuyez sur Entrée.
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

Notes

L’écouteur de trace du service DRDA génère des informations dans la fenêtre de console. Vous devez supprimer les marques de commentaire de l’entrée DrdaAsConsoleListener et définir un traceLevel (c’est-à-dire 5) dans le fichier MsDrdaServiceConfig.exe.config.

Arrêt du service DRDA

Vous pouvez arrêter le service DRDA lorsqu’il s’exécute en tant que service ou application console.

Service Windows

À l’aide d’une fenêtre de commande, vous pouvez arrêter le service DRDA lors de l’exécution en tant que service.

  1. À partir de l’invite de commandes, entrez net stop msdrdaservice, puis appuyez sur Entrée.
C:\Windows\system32>net stop msdrdaservice
The Microsoft Service for DRDA service is stopping.
The Microsoft Service for DRDA service was stopped successfully.

Application console

À l’aide d’une fenêtre de commande, vous pouvez arrêter le service DRDA lorsqu’il s’exécute en tant qu’application console.

  • À partir de l’invite de commandes, tapez CTRL+C.
C:\Windows\system32>

Notes

Le service DRDA cesse de s’exécuter en tant qu’application console et l’invite de commandes s’affiche.

Connexion de clients DRDA à des bases de données SQL Server

Le service DRDA traite les demandes du client DRDA en connexions aux bases de données SQL Server locales et distantes. Cette rubrique décrit le fonctionnement des opérations de connexion à la base de données MsDrdaService.

Connexions clientes

Au démarrage du service, le service DRDA écrit une entrée d’information dans les écouteurs de trace du service DRDA internes, en informant le professionnel de l’informatique du port sur lequel le gestionnaire de communication TCP écoute les connexions clientes du demandeur d’application DRDA liées.

Information:0:3:[Jan 24 2024 17:03:16.118] TCP communication manager listening on port 446

Les clients demandeurs d’applications DRDA distants se connectent au service DRDA local via une connexion réseau TCP/IP. Le client DRDA envoie des flux et des formats de données excsat (Exchange Server attributes), ACCSEC (Access Security) et ACCRDB (base de données relationnelle Access), auxquels le service DRDA répond avec des réponses du protocole DRDA.

Authentification

Pour fournir une authentification intégrée, le service DRDA peut combiner la validation et le mappage des informations d’identification entrantes à l’aide de Microsoft Enterprise Single Sign-On (ESSO) avec une authentification SQL Server sortante à l’aide de Windows SSPI (Security Support Provider Interface). Par exemple, le service DRDA peut utiliser ESSO pour mapper un nom d’utilisateur et un mot de passe IBM RACF (Resource Access Control Facility) à un domaine\nom d’utilisateur Microsoft Windows Active Directory en vue d’établir une connexion avec sécurité intégrée à une base de données SQL Server distante.

SQL Server Connections

Le service DRDA communique avec amont bases de données SQL Server locales ou distantes à l’aide du fournisseur ADO.NET Framework pour SQL Server. L’accès au client SQL sous-jacent SQL Server via une connexion en mémoire ou sur un réseau à l’aide de canaux nommés ou TCP/IP. Le client SQL prend en charge les fonctionnalités de chiffrement et de basculement facultatives pour améliorer la sécurité et la fiabilité. Le service DRDA prend en charge des fonctionnalités facultatives d’authentification unique et de regroupement pour améliorer la sécurité et les performances. Vous pouvez modifier le fichier MsDrdaService.exe.config pour indiquer au service DRDA comment gérer le client SQL pour SQL Server connexions.

Basculement Connections

Le service DRDA peut fonctionner dans des groupes de deux (2) serveurs, un par ordinateur, pour fournir une tolérance aux pannes de base. Lorsqu’un client AR DRDA se connecte à une base de données SQL Server, le service DRDA retourne une liste de serveurs SRVLST DRDA avec une liste pondérée d’instances de serveur de données. En cas de basculement d’un service DRDA principal, le client AR DRDA peut utiliser ces informations pour se connecter à l’autre membre d’une paire d’ordinateurs de service DRDA. Combinée à la mise en miroir ou au clustering SQL Server, cette technologie peut offrir un niveau raisonnable de protection avec un basculement tolérant aux pannes.

Basculement Connections

Les illustrations précédentes montrent comment les clients DRDA peuvent se reconnecter au serveur partenaire du service DRDA dans les scénarios de basculement.

Traitement des liaisons de package

Le service DRDA convertit les packages SQL statiques pour DB2 en procédures stockées SQL Server en convertissant les commandes DRDA BGNBND (Begin Bind) et BNDSQLSTT (Bind SQL Statement) en instructions SQL Server DROP PROCEDURE et CREATE PROCEDURE. Un flux BGNBND DRDA contient un ou plusieurs flux BNDSQLSTT, un par instruction SQL stockée dans le package. Le service DRDA mappe une section de package SQL statique DRDA (avec une instruction) à une SQL Server procédure stockée. Le service DRDA mappe ou conserve les options de liaison de package BGNBND dans les commentaires au sein des procédures stockées et les propriétés facultatives de procédure stockée étendue. Le service DRDA utilise un transformateur SQL interne pour convertir la syntaxe de commande SQL, les paramètres, les types de données, les curseurs et les jeux de résultats. Si vous le souhaitez, vous pouvez développer un écouteur de liaison de package personnalisé pour traiter les packages de manière interactive avec le service DRDA ou hors ligne.

Lier le package au fichier XML

Le service DRDA peut traiter un seul flux BGNBND dans un fichier XML de package SQL pour DB2 statique, en conservant les options et instructions de liaison d’origine telles que définies par les flux BNDSQLSTT DRDA.

Lier le package à la procédure stockée

Le service DRDA traite un seul flux BGNBND en une procédure stockée SQL Server, transformant les instructions d’origine telles que définies par les flux BNDSQLSTT DRDA en syntaxe SQL Server correspondante.

Create Procedure, instruction

L’écouteur de liaison de package interne du service DRDA et la plupart des écouteurs personnalisés incluent une clause IF EXISTS avec l’instruction DROP PROCEDURE, en fonction de la valeur de l’option PKGRPLOPT (Option de remplacement de package) dans le flux de protocole DRDA BGNBND (Begin Bind). La valeur par défaut de PKGRPLOPT est PKGRPLALW (Remplacement de package autorisé). Si vous le souhaitez, la valeur PKGRPLNA (Package Replacement Not Allowed) peut être spécifiée.

L’écouteur de liaison de package interne du service DRDA et la plupart des écouteurs personnalisés incluent des commentaires juste avant le texte de l’instruction CREATE PROCEDURE, qui indiquent au runtime du service DRDA comment exécuter les procédures stockées.

Jeu de résultats de requête

Ce commentaire indique au service DRDA d’utiliser un DataReader SqlClient pour retourner les résultats de l’instruction SELECT.

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

Paramètres de sortie de requête

Ce commentaire indique au service DRDA de préparer les paramètres OUTPUT lors de l’appel de la procédure avec laquelle retourner les données de la requête.

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

Curseur avec maintien

Ce commentaire indique au service DRDA de maintenir les curseurs ouverts dans une transaction.

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

Options de liaison

Ce commentaire conserve le runtime DRDA BNDOPT (Options de liaison) pour une utilisation ultérieure.

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

Ignorer les commandes de liaison et d’exécution de package

Les programmes clients DRDA lient un ensemble de packages standard qui contiennent des instructions DECLARE CURSOR de base, avec lesquelles définir comment extraire et retourner des résultats sur les instructions SELECT et CALL sur IBM DB2 for z/OS. Le serveur DRDA n’a pas besoin de convertir ces packages en procédures stockées SQL Server. Vous pouvez économiser l’espace de traitement et de stockage de la liaison en demandant au serveur DRDA d’ignorer ces packages, en lisant un fichier IgnoreStandardPackages.txt contenant une liste délimitée de valeurs de nom de package qualifiées.

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

Contenu du fichier de IgnoreStandardPackages.txt stock.

La première ligne du fichier contient un ensemble délimité par des tabulations de deux valeurs qui représentent des en-têtes de colonne. Le premier en-tête de colonne est le COLID (Identificateur de collection). Le deuxième en-tête de colonne est PKGNAM (Package Name). Les lignes restantes du fichier contiennent un ensemble de valeurs délimitées par des tabulations pour l’identificateur de collection et le nom du package.

Un astérisque à la place d’une valeur indique n’importe quelle valeur. Le client Microsoft DRDA offre un ensemble d’outils permettant de définir l’ensemble standard de packages dans une ou plusieurs collections définies par l’utilisateur. Dans ce cas, le caractère générique indique au serveur DRDA d’ignorer les commandes de liaison et d’exécution référençant les packages standard du client Microsoft DRDA, quelle que soit la collection dans laquelle les packages sont définis.

Un astérisque à la fin d’une chaîne indique une valeur partielle. Le client DRDA IBM DB2 Connect offre un ensemble d’outils permettant de définir l’ensemble standard de packages dans une collection NULLID avec une valeur de nom de package de départ SYSSH. Dans ce cas, le caractère générique indique au serveur DRDA d’ignorer les commandes de liaison et d’exécution référençant l’ensemble complet des packages standard du client DRDA IBM DB2 Connect.

Types de données

Le service DRDA assure la compatibilité entre les produits et technologies de fournisseurs hétérogènes, en fournissant ces conversions de plateforme.

Mappages de types de données DB2 à SQL Server

Le service DRDA mappe DB2 à SQL Server types de données en fonction d’un ensemble défini de mappages stockés dans un fichier Db2ToSql.xml dans le répertoire système %DRDAROOT%\. Par exemple, le service DRDA convertit les valeurs et formats TIMESTAMP DB2 tels que définis dans les flux de protocole DRDA et les données mises en forme en valeurs et formats SQL Server DATETIME2(6) tels que définis dans les procédures stockées et les instructions SQL dynamiques via le fournisseur de données Microsoft ADO.NET Framework pour les interfaces SQL Server.

Source DB2 Type Type de SQL Server cible
TEMPS TEMPS
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 IMAGE
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 IMAGE
BINARY LARGE OBJECT IMAGE
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

mappages de types de données SQL Server à DB2

Le service DRDA mappe DB2 à SQL Server types de données en fonction d’un ensemble défini de mappages stockés dans un fichier MsSqlToDb2.xml dans le répertoire système %DRDAROOT%\. Par exemple, le service DRDA convertit SQL Server valeurs et formats MONEY tels que définis par le fournisseur de données Microsoft ADO.NET Framework pour les interfaces SQL Server en valeurs et formats DB2 DECIMAL définis dans les flux de protocole DRDA et les données mises en forme.

Type de SQL Server cible Source DB2 Type
SMALLINT SMALLINT
INT ENTIER
RÉEL 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
IMAGE LONG VARCHAR
VARIANT VARCHAR(32672) POUR LES DONNÉES BIT
TEXT LONG VARCHAR
CHAR CHAR
VARCHAR VARCHAR
NCHAR CHAR
NVARCHAR VARCHAR
NTEXT LONG VARCHAR
DECIMAL DECIMAL
NUMERIC DECIMAL
DATETIME timestamp
DATETIMEOFFSET timestamp
DATE DATE
TEMPS TEMPS
SMALLDATETIME timestamp
SYSNAME VARGRAPHIC(128)

Configuration des mappages de types de données

Le service DRDA convertit les types de données de base de DB2 en SQL Server et de SQL Server en DB2. Si vous le souhaitez, vous pouvez modifier ces fichiers XML pour modifier les mappages de type de données de base.

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

Encodage des paramètres régionaux

Le service DRDA prend en charge les encodages de chaîne spécifiques aux paramètres régionaux.

EBCDIC

Le service DRDA prend en charge les CCSID EBCS (Single Byte Character Set) EBCDIC ci-dessous convertis vers et à partir d’UNICODE 1208.

Nom CCSID NLS Code Page
EBCDIC - Arabe 420 20420
EBCDIC - Cyrillique (Russe) 880 20880
EBCDIC - Cyrillique (serbe, bulgare) 1025 21025
EBCDIC - Danemark/Norvège (Euro) 277 1142
EBCDIC - Danemark/Norvège 277 20277
EBCDIC - Finlande/Suède (Euro) 278 1143
EBCDIC - Finlande/Suède 278 20278
EBCDIC - France (Euro) 297 1147
EBCDIC - France 297 20297
EBCDIC - Allemagne (Euro) 273 1141
EBCDIC - Allemagne 273 20273
EBCDIC - Grec (moderne) 875 875
EBCDIC - Grec 423 20423
EBCDIC - Hébreu 424 20424
EBCDIC - Islandais (Euro) 871 1149
EBCDIC - Islandais 871 20871
EBCDIC - International (Euro) 500 1148
EBCDIC - International 500 500
EBCDIC - Italie (Euro) 280 1144
EBCDIC - Italie 280 20280
EBCDIC - Amérique latine/Espagne (Euro) 284 1145
EBCDIC - Amérique latine/Espagne 284 20284
EBCDIC - Multilingue/ ROECE (Latin-2) 870 870
EBCDIC - Thaï 838 20838
EBCDIC - Turc (latin-3) 905 20905
EBCDIC - Turc (Latin-5) 1026 1026
EBCDIC - États-Unis/ Canada (Euro) 37 1140
EBCDIC - États-Unis/ Canada 37 37
EBCDIC - Royaume-Uni (Euro) 285 1146
EBCDIC - Royaume-Uni 285 20285

ANSI

Le service DRDA prend en charge les CCSID ANSI SBCS (Single Byte Character Set) répertoriés ci-dessous convertis vers et à partir d’UNICODE 1208.

Nom CCSID Page de codes NLS
ANSI - Arabic 1256 1256
ANSI - Baltic 1257 1257
ANSI - Central Europe 1250 1250
ANSI - Cyrillic 1251 1251
ANSI - Greek 1253 1253
ANSI - Hebrew 1 255 1 255
ANSI - Latin I 1252 1252
ANSI - Turkish 1254 1254
ANSI - Arabic 1256 1256

Performances

Cette rubrique contient des informations qui vous aideront à optimiser les performances lorsque vous utilisez le service DRDA.

Authentification et chiffrement

Authentification

Le service DRDA utilise microsoft Enterprise Single Sign-On pour authentifier les informations d’identification de l’utilisateur du demandeur d’application DRDA (par exemple, DB2 pour z/OS RACF identificateur et mot de passe) auprès du client SQL externe pour SQL Server connexion de base de données (par exemple, sécurité intégrée avec des comptes Windows Active Directory). En guise d’alternative à ESSO, vous pouvez configurer MsDrdaService pour utiliser l’authentification mappée. L’attribut mapAuthenticationDomain de la MsDrdaService.exe.config indique au service DRDA à quel domaine Microsoft Windows Active Directory mapper les informations d’identification du client DRDA liées (nom d’utilisateur et mot de passe), lors de la connexion à SQL Server configurée pour Authentification Windows à l’aide de l’interface SSPI (Security Support Provider Interface) intégrée, mais pas lors de l’utilisation de l’authentification unique Microsoft Enterprise. Le service DRDA met en cache le jeton de sécurité obtenu à partir des fonctionnalités de Sign-On unique d’entreprise microsoft et de domaine d’authentification mappé pendant une durée configurée, avec laquelle utiliser lors de la connexion à SQL Server configuré pour Authentification Windows à l’aide de l’interface SSPI (Security Support Provider Interface) intégrée. L’attribut securityTokenTimeout indique au serveur DRDA de conserver un jeton de sécurité pendant une durée donnée, après quoi obtenir un nouvel identificateur de client Windows (CID). Cet attribut facultatif accepte une valeur de durée. La valeur par défaut est PT8H (la période est de 8 heures). Pour améliorer les performances, vous pouvez ajuster la valeur du délai d’expiration du jeton de sécurité ESSO pour une durée plus longue.

Chiffrement

Le service DRDA prend en charge le fournisseur de données prend en charge l’authentification et le chiffrement des données à l’aide des technologies DES (Data Encryption Standard), SSL (Secure Sockets Layer) v3.0 et TLS (Transport Layer Security) V1.0. En outre, le service DRDA prend en charge le chiffrement des données uniquement à l’aide du chiffrement AES (Advanced Encryption Standard). Ces mécanismes de chiffrement peuvent avoir un impact sur les performances.

Connexion

connexion SQL Server

Le service pour DRDA se connecte à une base de données SQL Server à l’aide du fournisseur de données ADO.NET Framework pour SQL Server et du client réseau SQL sous-jacent. Lors de la connexion à un SQL Server instance local, spécifiez la bibliothèque réseau=dbmslpcn pour indiquer au client SQL de se connecter à SQL Server à l’aide de la mémoire partagée plutôt qu’une connexion réseau TCP/IP. Pour réduire le temps de démarrage de la connexion, utilisez SQL Server regroupement de connexions, en définissant Pooling=true dans le chaîne de connexion pour indiquer au client SQL d’ajouter des connexions nouvellement créées au pool lorsqu’il est fermé par le service DRDA. Pour ajuster l’impact sur le serveur local, définissez la Taille maximale du pool dans le chaîne de connexion pour définir le nombre maximal de connexions que le client SQL doit conserver dans le pool de connexions. La valeur par défaut est 100.To réduire davantage le temps de démarrage de la connexion, utiliser le pool de connexions interne MsDrdaService, mapper les connexions clientes DRDA ET les informations d’identification d’authentification liées aux SQL Server connexions aux bases de données et informations d’identification hors limites, en définissant un attribut connectionCacheSize pour définir le nombre de clients SQL à SQL Server connexions d’ordinateur que le service DRDA met en cache dans le pool de connexions clientes SQL. Cet attribut facultatif accepte une valeur entière. La valeur par défaut est 1000.L’attribut connectionCacheTimeout indique au serveur DRDA de conserver une connexion groupée pendant une durée, après quoi pour obtenir une nouvelle connexion cliente SQL. Cet attribut facultatif accepte une valeur de durée. La valeur par défaut est PT8H (la période est de 8 heures).

Basculement de connexion

Le service DRDA peut fonctionner au sein d’un groupe pour fournir un basculement à tolérance de panne. Le groupe est défini en spécifiant un rôle de service local (principal ou secondaire), les serveurs partenaires de basculement disponibles et un intervalle ping pour superviser l’intégrité des serveurs dans un groupe. L’attribut pingInterval indique au service DRDA à quelle fréquence surveiller l’intégrité des ordinateurs serveurs partenaires, en exécutant un flux EXCSAT (Exchange Server Attribute) et en vérifiant la recherche d’un EXCSATRD (données de réponse EXCSAT). Cet attribut facultatif accepte une valeur entière. La valeur par défaut est de 10 000 millisecondes (10 secondes).

Compatibilité de la plateforme

Cache de procédure de package

Le service DRDA traite les commandes DRDA EXCSQLSTT (Execute SQL Statement) et OPNQRY (Open Query) en exécutant une instruction CALL SQL Server sur une procédure stockée SQL Server correspondante. Avant d’exécuter l’instruction CALL, le service DRDA extrait les métadonnées de la procédure stockée SQL Server avec laquelle vérifier le type d’instruction (SELECT, INSERT, UPDATE, DELETE), le type de curseur (WITH HOLD), les types de données de paramètre (par exemple, CHAR FOR BIT) et d’autres attributs (par exemple, a des résultats). Après avoir extrait les métadonnées, le service DRDA met en cache ces informations, y compris le nom de la procédure mappée, pour un intervalle configuré dans un cache de procédure de package afin d’améliorer les performances lors de l’exécution suivante de cette section de package. L’attribut packageProcedureCacheFlush indique au serveur DRDA de vider le cache de la procédure de package après un intervalle de temps spécifié. Cet attribut facultatif accepte une valeur de durée. La valeur par défaut est P1D (période de temps est 1 jour). L’attribut packageProcedureLastInvoke indique au serveur DRDA d’écrire les noms des objets du cache de procédure de package dans un fichier texte, %DRDAROOT%\LastInvokePackageProcedures.txt, après un intervalle de temps spécifié. Cet attribut facultatif accepte une valeur de durée. La valeur par défaut est P7D (la période est de 7 jours). Au démarrage du service, le service DRDA charge ce fichier texte pour pré-extraire le schéma pour les procédures répertoriées dans le fichier. Pour améliorer les performances du démarrage du service, vous pouvez modifier ce fichier et supprimer les noms de procédures stockées inutiles. Pour désactiver la lecture et l’écriture du fichier LastInvokePackageProcedures.txt, définissez l’intervalle de temps sur PT0S (Période de temps zéro secondes).

Syntaxe SQL

Le service DRDA dispose d’un transformateur de syntaxe de commande DB2 ANSI vers SQL Server T-SQL limité pour la liaison de packages, l’exécution d’instructions SQL statiques et dynamiques. Le service DRDA offre éventuellement des fonctions DB2 compatibles supplémentaires sous la forme de fonctions SQL Server CLR. Pour améliorer les performances des transformations de syntaxe SQL, activez les fonctions basées sur le CLR du service DRDA. Le service DRDA transforme sql statique pour les packages DB2 en SQL Server procédures stockées, lors du traitement des commandes de liaison et de liaison d’instructions SQL, y compris les instructions SQL DECLARE CURSOR incorporées. Pour améliorer les performances, le service DRDA retourne plusieurs lignes par extraction lorsque cela est possible, sauf si le package ou le curseur est défini pour l’extraction d’une seule ligne afin de prendre en charge la mise à jour simultanée. Lors de la définition d’instructions SELECT pour des performances de lecture optimales, le développeur doit inclure une clause FOR FETCH ONLY ou FOR READ ONLY.

Niveau d’isolation

Le service DRDA mappe le niveau d’isolation IBM DB2 dans L’instruction DRDA EXCSQLSTT (Execute SQL Statement) au niveau de transaction SQL Server sur le fournisseur ADO.NET pour SQL Server objet transaction. Pour améliorer les performances et réduire les conflits sur les objets de base de données, le développeur doit utiliser le niveau d’isolation DB2 Cursor Stability (CS) qui correspond à SQL Server niveau d’isolation Read Committed.

Formats et conversions de date et heure

Le service DRDA met en forme des valeurs de date et d’heure littérales de chaîne à partir de la source et dans des formats cibles lors du traitement des instructions SQL dynamiques et statiques, pour des types de données de date et de caractère spécifiques. L’élément conversionFormats contient dateMasks, timeMasks et dateTimeMasks pour la conversion vers et à partir des formats db2 et SQL Server datetime, et indique au service DRDA quand effectuer ces transformations. L’analyse, l’encodage et le décodage des chaînes vers et depuis des valeurs mises en forme de date-heure consomment des ressources de service DRDA supplémentaires.

Conversions de pages de code

Le service DRDA mappe les pages de codes et prend en charge les conversions de pages de codes personnalisées à l’aide d’un composant HIS Encoder sous-jacent et des composants système NLS (National Language Support) Windows. Si vous le souhaitez, le service DRDA peut convertir des points de code individuels pour prendre en charge les pages de codes personnalisées. Le serveur DRDA consomme des ressources supplémentaires lors de la prise en charge de la conversion de pages de codes personnalisés.

Mappages de classement

SQL Server peuvent rassembler les résultats des requêtes dans un ordre différent de celui attendu par le programme client DRDA. Par exemple, un professionnel de l’informatique peut configurer une base de données SQL Server pour utiliser un classement ANSI et une base de données DB2 pour z/OS pour utiliser le classement EBCDIC. Le service DRDA peut transformer une instruction SELECT de la syntaxe db2 ORDER BY COLLATION_KEY (nom-classement) en SQL Server syntaxe T-SQL ORDER BY COLLATE (collation_name), en passant d’une valeur de nom de classement DB2 à une valeur SQL Server collation_name, pour fournir des résultats de requête plus compatibles. Le service DRDA peut ajouter une clause COLLATE à une clause ORDER BY, en fonction d’un nom de classement ORDER BY par défaut. L’analyse et le remplacement ou l’ajout de la syntaxe SQL par le service DRDA consomment des ressources supplémentaires.

Suivi

Le service DRDA prend en charge un ensemble d’écouteurs partagés pour enregistrer des informations dans du texte, une console, un journal des événements et un composant personnalisé. Système. diagnostics élément de la section hostIntegration.drdaAs.drdaService du fichier MsDrdaService.exe.config définit et contrôle les différents écouteurs. L’attribut traceLevel indique au service DRDA de suivre les collections d’informations définies, d’un niveau de suivi minimal à un niveau maximal de suivi. Cet attribut facultatif accepte une valeur entière. La valeur par défaut est 0, ce qui désactive le suivi. Le service DRDA peut vider automatiquement les données de trace sur les écouteurs de trace, ce qui garantit que les données de trace sont capturées, mais augmente les E/S du disque et réduit les performances globales du système. Pour améliorer les performances, définissez autoFlush=false afin de désactiver le vidage de trace automatique.

Analyseur de performances

Pour mesurer les performances, le service DRDA propose des compteurs de performances. Les compteurs de performances du service DRDA capturent des informations sur les connexions ouvertes, les instructions ouvertes, les paquets et les octets envoyés/reçus, le temps de traitement moyen, les exécutions de commandes, les extractions de données et les validations/restaurations de transactions.

Configuration

Pour mesurer les performances, le service DRDA propose des compteurs de performances à utiliser avec Windows Analyseur de performances. L’attribut peformanceCountersOn indique au service DRDA de collecter des informations dans les compteurs de performances. Cet attribut facultatif accepte une valeur booléenne. La valeur par défaut est false. Pour plus d’informations, consultez la section sur les performances. En outre, pour plus d’informations sur Windows Analyseur de performances, consultez Compteurs de performances (https://go.microsoft.com/fwlink/?LinkID=119211).

Counters

Le service DRDA génère des données vers ces compteurs Analyseur de performances.

  1. Sessions actives

  2. Active SQL Connections

  3. Transactions actives

  4. Octets reçus

  5. Octets reçus/s

  6. Octets envoyés

  7. Octets envoyés/s

  8. Transactions

  9. Validations de transactions

  10. Validations de transactions/s

  11. Restaurations de transactions

  12. Transactions/s

DRDA Service Instances

Le service DRDA offre des compteurs Analyseur de performances par service ou par connexion « instance », où un « instance » peut être un processus ou une session.