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 que service ou application 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.

  1. Dans le menu Démarrer, pointez sur Tous les programmes, Microsoft Visual Studio 2010, Outils Visual Studio, cliquez avec le bouton droit sur Invite de commandes de Visual Studio x64 Win64 (2010), puis sur Exécuter en tant qu'administrateur. La boîte de dialogue Contrôle de compte d'utilisateur s'affiche. Cliquez sur Oui pour continuer.

  2. À partir de l’invite de commandes, entrez net start msdrdaservice, puis appuyez sur 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 pour qu’il s’exécute en tant qu’application console, sous les informations d’identification de la fenêtre de commande.

  1. Dans le menu Démarrer, pointez sur Tous les programmes, Microsoft Visual Studio 2010, Outils Visual Studio, cliquez avec le bouton droit sur Invite de commandes de Visual Studio x64 Win64 (2010), puis sur Exécuter en tant qu'administrateur. La boîte de dialogue Contrôle de compte d'utilisateur s'affiche. Cliquez sur Oui pour continuer.

  2. À partir de l’invite de commandes, entrez cd C:\Windows\system32cd> C:\Program Files\Microsoft Host Integration Server 2013\system, puis appuyez sur Entrée.

    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
    

Remarque

L’écouteur de suivi du service DRDA génère des informations dans la fenêtre de console.

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. Dans le menu Démarrer, pointez sur Tous les programmes, Microsoft Visual Studio 2010, Outils Visual Studio, cliquez avec le bouton droit sur Invite de commandes de Visual Studio x64 Win64 (2010), puis sur Exécuter en tant qu'administrateur. La boîte de dialogue Contrôle de compte d'utilisateur s'affiche. Cliquez sur Oui pour continuer.

  2. À 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>
    

Remarque

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 dans les connexions aux bases de données SQL Server locales et distantes. Cette rubrique décrit l’opération des opérations de connexion de 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 de service DRDA internes, en informant le professionnel informatique du port sur lequel tcp Communication Manager écoute les connexions clientes du demandeur d’application DRDA liées.

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

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

Authentication

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.

connexions SQL Server

Le service DRDA communique avec les bases de données SQL Server locales ou distantes en amont à l’aide du fournisseur ADO.NET Framework pour SQL Server. Le SQL client sous-jacent accède 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 facultatives de chiffrement et de basculement pour améliorer la sécurité et la fiabilité. Le service DRDA prend en charge les 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.

Connexions de basculement

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.

Failover Connections

Les illustrations précédentes montrent comment les clients DRDA peuvent se reconnecter au serveur partenaire de 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 DRDA BGNBND contient un ou plusieurs flux BNDSQLSTT, un par instruction SQL stocké dans le package. Le service DRDA mappe une section de package de SQL statique DRDA (avec une instruction) à une procédure stockée SQL Server. Le service DRDA mappe ou conserve les options de liaison de package BGNBND dans les commentaires dans les procédures stockées et les propriétés facultatives de procédure stockée étendue. Le service DRDA utilise un transformateur de SQL interne pour convertir SQL syntaxe de commande, paramètres, types de données, curseurs et 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 un package à un fichier XML

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

Lier un package à une procédure stockée

Le service DRDA traite un flux BGNBND unique en une procédure stockée SQL Server, en 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 incluront une clause IF EXISTS avec l’instruction DROP PROCEDURE, selon 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 (Package Replacement Allowed). Si vous le souhaitez, la valeur PKGRPLNA (Remplacement du package non autorisé) 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, ce qui informe le 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 conservation

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

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

Options de liaison

Ce commentaire conserve le runtime DRDA BNDOPT (Bind Options) 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 des instructions SELECT et CALL sur IBM DB2 pour z/OS. Le serveur DRDA n’a pas besoin de convertir ces packages en procédures stockées SQL Server. Vous pouvez enregistrer le traitement des liaisons et l’espace de stockage 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 les 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 (Nom du package). 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 propose 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 définie.

Un astérisque à la fin d’une chaîne indique une valeur partielle. IBM DB2 Connecter client DRDA 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 de 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 IBM DB2 Connecter client DRDA.

Types de données

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

DB2 à SQL Server mappages de types de données

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 %DRDAROOT%\system. Par exemple, le service DRDA convertit les valeurs et les formats DB2 TIMESTAMP tels que définis dans les flux de protocole DRDA et les données mises en forme en valeurs et formats DATETIME2(6) SQL Server tels que définis dans les procédures stockées et les instructions de SQL dynamiques par le biais de l’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

SQL Server aux mappages de types de données 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 %DRDAROOT%\system. Par exemple, le service DRDA convertit SQL Server valeurs et formats MONEY tels que définis par microsoft ADO.NET Framework Fournisseur de données pour SQL Server interfaces en valeurs et formats DECIMAL DB2 tels que 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 types 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 SBCS (jeu de caractères d’octet unique) répertoriés ci-dessous, convertis en et à partir d’UNICODE 1208.

Name CCSID Page de codes NLS
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ïlandais 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 SBCS (jeu de caractères codés sur un octet unique) ansI CCSI convertis vers et à partir d’UNICODE 1208.

Name 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

Authentication

Le service DRDA utilise microsoft Enterprise Sign-On unique pour l’authentification du demandeur d’application DRDA lié (par exemple, DB2 pour l’identificateur d’utilisateur et le mot de passe RACF z/OS) aux informations d’identification utilisateur SQL client hors limite pour SQL Server connexion de base de données (par exemple, Sécurité intégrée avec Windows comptes Active Directory) des informations d’identification utilisateur. En guise d’alternative à ESSO, vous pouvez configurer MsDrdaService pour utiliser l’authentification mappée. L’attribut mapAuthenticationDomain du MsDrdaService.exe.config indique au service DRDA auquel Microsoft Windows domaine Active Directory pour mapper les informations d’identification 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 de fournisseur de support de sécurité intégrée (SSPI), mais pas lors de l’utilisation de Microsoft Enterprise l’authentification unique. Le service DRDA met en cache le jeton de sécurité obtenu à partir de Microsoft Sign-On Enterprise fonctionnalités de domaine d’authentification unique et mappée pendant une durée configurée, avec laquelle utiliser lors de la connexion à SQL Server configuré pour Authentification Windows à l’aide de l’interface de fournisseur de support de sécurité intégrée (SSPI). L’attribut securityTokenTimeout indique au serveur DRDA de conserver un jeton de sécurité pendant une durée de temps, après laquelle obtenir un nouvel identificateur client Windows (CID). Cet attribut facultatif accepte une valeur de durée. La valeur par défaut est PT8H (Période de temps 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 pendant une durée plus longue.

Chiffrement

Le service DRDA prend en charge les Fournisseur de données prend en charge l’authentification et le chiffrement des données à l’aide des technologies DES (Data Encryption Standard), ssl (SSL) 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 de l’Fournisseur de données ADO.NET Framework pour SQL Server et le client réseau SQL sous-jacent. Lors de la connexion à une instance de SQL Server locale, 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 la 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 la 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, utilisez le pool de connexions interne MsDrdaService, le mappage des connexions clientes DRDA liées et des informations d’identification d’authentification aux connexions et informations d’identification de base de données hors SQL Server limites, en définissant un attribut connectionCacheSize pour définir le nombre de SQL client à SQL Server connexions ordinateurs que le service DRDA met en cache dans le service DRDA SQL pool de connexions client. 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 mise en pool pendant une durée, après laquelle obtenir une nouvelle connexion cliente SQL. Cet attribut facultatif accepte une valeur de durée. La valeur par défaut est PT8H (période de temps est de 8 heures).

Basculement de connexion

Le service DRDA peut fonctionner au sein d’un groupe pour fournir un basculement tolérant aux pannes. 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 la fréquence à laquelle surveiller l’intégrité des ordinateurs serveurs partenaires, en exécutant un flux EXCSAT (Exchange Server Attribut) et en vérifiant 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 DRDA EXCSQLSTT (Execute SQL Statement) et les commandes OPNQRY (Open Query) en exécutant une instruction CALL SQL Server par rapport à une procédure stockée SQL Server correspondante. Avant d’exécuter l’instruction CALL, le service DRDA récupère 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 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 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 de 1 jour). L’attribut packageProcedureLastInvoke indique au serveur DRDA d’écrire les noms d’objets dans le 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 (Période de 7 jours). Au démarrage du service, le service DRDA charge ce fichier texte pour pré-extraire le schéma des 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 non modifiées. Pour désactiver la lecture et l’écriture du fichier LastInvokePackageProcedures.txt, définissez l’intervalle de temps sur PT0S (période de 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 CLR du service DRDA. Le service DRDA transforme les SQL statiques pour les packages DB2 en procédures stockées SQL Server, lors du traitement des instructions DRDA, commencez à lier et lier des commandes d’instructions SQL, y compris les instructions EMBEDDED SQL DECLARE CURSOR. Pour améliorer les performances, le service DRDA retourne plusieurs lignes par extraction si possible, sauf si le package ou le curseur est défini pour une extraction de lignes unique pour 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 de ADO.NET pour SQL Server objet transactionnel. Pour améliorer les performances et réduire la contention sur les objets de base de données, le développeur doit utiliser la stabilité du curseur de niveau d’isolation DB2 (CS) qui est mappé à SQL Server niveau d’isolation En lecture validée.

Formats et conversions d’heure de date

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

Conversions de pages de code

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

Mappages de classements

SQL Server peut coller les résultats de requête 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 à partir d’une syntaxe DB2 ORDER BY COLLATION_KEY (nom de classement) en SQL Server syntaxe T-SQL ORDER BY COLLATE (collation_name), le mappage d’une valeur de nom de classement DB2 à une valeur de 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 SQL syntaxe du service DRDA consomment des ressources supplémentaires.

Traçage

Le service DRDA prend en charge un ensemble d’écouteurs partagés pour consigner les informations sur le texte, la console, le journal des événements et le composant personnalisé. L’élément system.diagnostics 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 minimum à 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 augmentent les E/S du disque et réduisent 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 offre 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 des transactions.

Configuration

Pour mesurer les performances, le service DRDA offre 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. 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 à ces compteurs Analyseur de performances.

  1. Sessions actives

  2. Connexions de SQL actives

  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 des transactions

  10. Validations des transactions/s

  11. Restauration des transactions

  12. Transactions/s

DRDA Service Instances

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