Configuration des 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 client SQL 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 de chiffrement et de basculement facultatives 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 sur les connexions SQL Server.

Réseau

Le service DRDA se connecte à SQL Server via le fournisseur Microsoft ADO.NET Framework pour SQL Server et le client SQL sous-jacent. L’élément de base de données du fichier MsDrdaService.exe.config contient les paramètres réseau de gestion des connexions client SQL hors limites. Le type de base de données est Microsoft.HostIntegration.Drda.RDB.SqlDatabase, qui définit les paramètres réseau pour les connexions client SQL hors limites.

Chaîne de connexion

L’attribut connectionString définit la liste des paires nom et valeur d’argument à utiliser par le service DRDA pour définir un fournisseur de données Microsoft ADO.NET Framework pour l’objet de connexion SQL Server. Cet attribut obligatoire accepte une valeur de chaîne . La valeur par défaut est Data Source=localhost ; Integrated Security=true ; MultipleActiveResultSets=true.

Élément Descriptif
Nom de l’application La propriété Nom de l’application indique au client SQL le nom de l’application à associer à la connexion. Cette propriété facultative accepte une valeur de chaîne . La valeur par défaut est une chaîne vide.
Délai d’expiration de connexion La propriété Connect Timeout indique au client SQL la durée (en secondes) d’attendre une connexion au serveur avant de terminer la tentative et de générer une erreur.

Cette propriété facultative accepte une valeur entière . Les valeurs valides sont supérieures ou égales à 0 et inférieures ou égales à 2147483647.La valeur par défaut est de 15 secondes.
Source de données La propriété source de données définit le nom ou l’adresse réseau de l’instance de SQL Server à laquelle se connecter à l’aide de TCP/IP ou de canaux nommés. Cette propriété requise accepte une valeur de chaîne . La valeur par défaut est une chaîne vide.

Pour TCP/IP, la valeur mise en forme commence par un préfixe « tcp : », suivi d’un alias OU d’une adresse TCP/IP au format IPv4 ou IPv6, suivi d’un nom d’instance SQL Server séparé par des barres obliques inverses ou d’un numéro de port TCP/IP séparés par des virgules.

- tcp : <nom d'hôte>\<nom de l'instance>
- tcp :<nom d'hôte>,<numéro de port TCP/IP>

Pour les canaux nommés, la valeur mise en forme commence par un préfixe « np : », suivi d’un nom d’hôte et d’un nom de canal nommé.

- np :\\<nom d'hôte>\pipe\<nom de pipe>
Chiffrer La propriété Encrypt indique au client SQL d’utiliser SSL (Secure Sockets Layer) pour chiffrer toutes les données envoyées entre SQL Client et SQL Server. Cette propriété facultativeaccepte une valeur booléenne de true, false, oui et non. La valeur par défaut est false.
Partenaire de basculement La propriété Partenaire de basculement informe Client SQL du nom du serveur SQL où la mise en miroir de bases de données est configurée. Cette propriété facultative accepte une valeur de chaîne . La valeur par défaut est une chaîne vide.
Catalogue initial La propriété Catalogue initial indique au client SQL à quelle base de données se connecter. Cette propriété facultative accepte une valeur de chaîne allant jusqu’à 128 caractères. La valeur par défaut est une chaîne vide.
Sécurité intégrée La propriété Security intégrée indique au client SQL de se connecter à SQL Server à l’aide de l’authentification Windows via l’interface du fournisseur de support de sécurité (SSPI). Cette propriété facultative accepte une valeur booléenne de true, false, oui et non. La valeur par défaut est false.

Lorsque cette valeur de propriété est true ou oui, le service DRDA se connecte à SQL Server à l’aide de l’authentification Windows.

- Les informations d’identification de connexion sont dérivées de l'MsDrdaService.exe en cours d’exécution (compte de service ou utilisateur connecté lors de l’exécution à partir de la ligne de commande).
- Les informations d’identification de connexion sont dérivées du service Enterprise Single Sign-On, lorsque l’argument Application affiliée distincte est spécifié avec une valeur. Pour plus d’informations, consultez la rubrique relative à l’application d’affiliation.

Lorsque cette valeur de propriété est false ou non, le service DRDA se connecte à SQL Server à l’aide de l’authentification SQL Server.

- Les informations d’identification de connexion sont dérivées des arguments Id d’utilisateur et Mot de passe dans ConnectionString.
- Les informations d’identification de connexion sont dérivées du client de données du demandeur d’application DRDA, lorsque les arguments ID d’utilisateur et mot de passe ne sont pas présents. Note: Vous devez spécifier false lors de l’utilisation des fonctionnalités de domaine d'Sign-On authentification unique d’entreprise lancées par Windows et mappées.
Taille maximale du pool La propriété Max Pool Size définit le nombre maximal de connexions que le client SQL doit conserver dans le pool de connexions. Cette propriété facultative accepte une valeur entière . La valeur par défaut est 100.
Ensemble de résultats actifs multiples La propriété MultipleActiveResultSets indique à SQL Server de gérer plusieurs jeux de résultats actifs (MARS), y compris les objets de curseur du serveur ouvert. Cette propriété requise accepte une valeur booléenne de true, false, oui et non. La valeur par défaut est true. Note: Le service DRDA nécessite MARS pour prendre en charge les curseurs de serveur créés par des instructions SQL CURSOR WITH HOLD statiques.
Bibliothèque réseau La propriété Bibliothèque réseau indique au client SQL de se connecter à SQL Server à l’aide de la mémoire partagée ou tcp/IP. Cette propriété facultative accepte une valeur de chaîne de dbmslpcn (mémoire partagée), dbnmpntw (canaux nommés) ou dbmssocn (TCP/IP). La valeur par défaut est dbmslpcn.
Taille des paquets La propriété Taille des paquets définit la taille en octets des paquets réseau que le client SQL utilisera pour communiquer avec une instance de SQL Server. Cette propriété facultative accepte une valeur entière de 512 à 32676. La valeur par défaut est 8192.
Mot de passe La propriété Password définit la valeur du mot de passe de connexion lorsque SQL Client utilise l’authentification SQL Server. Cette propriété facultative accepte une valeur de chaîne allant jusqu’à 128 caractères. La valeur par défaut est une chaîne vide.
Regroupement La propriété Pooling indique au client SQL d’ajouter des connexions nouvellement créées au pool lorsqu'elles sont fermées par le service DRDA. Dans une prochaine tentative d’ouverture de la même connexion, avec les mêmes valeurs de propriétés de chaîne de connexion, cette connexion sera récupérée du pool. Cette propriété facultative accepte une valeur booléenne de true, false, oui et non. La valeur par défaut est false.
TrustServerCertificate TrustServerCertificate indique au client SQL de chiffrer le canal lors du contournement de la chaîne de certificats pour valider l’approbation. Cette propriété facultative accepte une valeur booléenne de true, false, oui et non. La valeur par défaut est false.
ID d’utilisateur La propriété ID d’utilisateur définit la valeur de l’ID utilisateur de connexion lorsque sql Client utilise l’authentification SQL Server. Cette propriété facultative accepte une valeur de chaîne allant jusqu’à 128 caractères. La valeur par défaut est une chaîne vide.
ID de station de travail La propriété ID de station de travail définit le nom de la station de travail lors de la connexion à SQL Server. Cette propriété facultative accepte une valeur de chaîne allant jusqu’à 128 caractères. La valeur par défaut est une chaîne vide.

Le service DRDA prend en charge ces noms et valeurs d’arguments de chaîne de connexion SqlClient.

Pour plus d’informations, consultez https://msdn.microsoft.com/library/system.data.sqlclient.sqlconnection.connectionstring.aspx.

Nom de l’application cliente

L’attribut clientApplicationName indique au service DRDA comment définir la propriété de connexion nom de l’application cliente SQL. Cet attribut facultatif accepte une valeur de chaîne . La valeur par défaut est externalName, qui est le nom externe DRDA (EXTNAM) représentant le nom du travail, de la tâche ou du processus du programme client AR DRDA. Si vous le souhaitez, spécifiez une valeur de transactionIdentifier, qui correspond aux octets 5 à 8 de l’EXTNAM représentant le nom de l’identificateur de transaction du programme client AR DRDA lors de l'exécution sous CICS pour z/OS.

Délai d’expiration de l’appel de procédure stockée

L’attribut storedProcedureCallTimeout indique au service DRDA la durée (en secondes) d’attendre que SQL Server traite une instruction CALL pour exécuter une procédure stockée, avant de terminer la tentative et de générer une erreur. Cet attribut facultatif accepte une valeur entière . Les valeurs valides sont supérieures ou égales à 0 et inférieures ou égales à 2147483647. La valeur 0 indique aucune limite (une tentative d’exécution d’une commande attend indéfiniment). La valeur par défaut est de 30 secondes.

Remarque

Cette valeur de délai d’expiration est le délai d’attente cumulé pour toutes les lectures réseau pendant l’exécution de commande ou le traitement des résultats. Un délai d’expiration peut toujours survenir après que la première ligne a été retournée et n'inclut pas le temps de traitement par l'utilisateur, uniquement le temps de lecture du réseau.

SQL Application

L’élément sqlApplicationManager du fichier MsDrdaService.exe.config contient les paramètres d’application pour la gestion des connexions clientES SQL hors limites. Le type sqlApplicationManager est Microsoft.HostIntegration.Drda.Server.SqlApplicationManager, qui traite les connexions client SQL sortantes.

Annulation de la transaction en cas d’erreur

L’attribut rollbackTransactionOnError indique au service DRDA d’exécuter un ROLLBACK en suivant une erreur de base de données SQL Server négative. Cet attribut facultatif accepte une valeur booléenne . La valeur par défaut est true.

Remarque

La définition de cette valeur sur false peut fournir une compatibilité avec les programmes personnalisés attachés à DB2 pour z/OS. Toutefois, la définition de cette valeur sur false peut interrompre la compatibilité avec les clients demandeurs d’applications DRDA sur des plateformes ouvertes standard telles que ODBC, comme IBM DB2 Connect JDBC Driver.

Sécurité

Le service DRDA traite l’authentification des connexions réseau TCP/IP entrantes. Le service DRDA prend en charge les fonctionnalités facultatives de chiffrement et d’authentification unique pour améliorer la sécurité et les performances. L’élément securityManager du fichier MsDrdaService.exe.config contient les paramètres de sécurité pour la gestion des connexions clientes DRDA liées. Le type securityManager est Microsoft.HostIntegration.Drda.Server.SecurityManager, qui gère l'authentification des connexions réseau TCP/IP entrantes.

Application affiliée ESSO Host-Initiated

L’attribut hostInitiatedAffiliateApplication définit le nom de l’application affiliée que le service DRDA doit utiliser avec Microsoft Enterprise Single Sign-On pour mapper les informations d’identification client DRDA AR liées à un utilisateur de domaine Windows Active Directory, lorsque le client SQL utilise l’authentification Windows. Cette propriété facultative accepte une valeur de chaîne . La valeur par défaut est une chaîne vide, qui indique au service DRDA de ne pas utiliser l’authentification ESSO initiée par l’hôte.

Remarque

Lorsque vous utilisez l’authentification ESSO initiée par l’hôte, vous devez spécifier Integrated Security=true dans la chaîne de connexion SQL Server.

Les applications affiliées sont des entités logiques qui représentent un système ou un sous-système tel qu’un hôte, un système principal ou un client de base de données IBM DB2. Contactez votre administrateur SSO pour le nom de l'application affiliée.

Application affiliée ESSO Windows-Initiated

L’attribut windowsInitiatedAffiliateApplication définit le nom de l’application affiliée que le service DRDA doit utiliser avec Microsoft Enterprise Single Sign-On pour mapper l’utilisateur de domaine Windows Active Directory à des informations d’identification SQL Client hors limites, lorsque le client SQL utilise l’authentification SQL Server. Cette propriété facultative accepte une valeur de chaîne . La valeur par défaut est une chaîne vide, qui indique au service DRDA de ne pas utiliser l’authentification ESSO lancée par Windows.

Si vous le souhaitez, spécifiez une valeur isRdbName pour indiquer au service DRDA d’utiliser le RDBNAM entrant (nom de la base de données relationnelle) sur le flux de protocole ACCRDB (Access Relational Database) comme nom d'application affilié Windows-Initiated. Lors de la définition de l’application d’affiliation ESSO lancée par Windows, vous devez créer un troisième champ (« ConnectionString »). Le mappage des informations d’identification doit contenir, dans le champ ConnectionString, la paire argument-valeur (Initial Catalog=<SQL_Server_Database_Name>). Le mappage des informations d’identification peut contenir un espace réservé pour le champ Mot de passe (MS$SAME).

Remarque

Lorsque vous utilisez l’authentification ESSO lancée par Windows, vous devez spécifier Integrated Security=true dans la chaîne de connexion SQL Server.

Les applications affiliées sont des entités logiques qui représentent un système ou un sous-système tel qu’un hôte, un système principal ou un client de base de données IBM DB2. Contactez votre administrateur SSO pour le nom de l'application affiliée.

Délai d’expiration du jeton de sécurité

Le service DRDA met en cache le jeton de sécurité obtenu à partir des fonctionnalités Microsoft Enterprise Single Sign-On et de domaine d'authentification mappé pendant une durée configurée, à utiliser lors de la connexion à un SQL Server configuré pour l'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 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). La valeur de durée est spécifiée sous la forme PnYnMnDTnHnMnS.

Élément Descriptif
P Durée de la période (obligatoire)
Ny Nombre d’années.
Nm Nombre de mois.
Nd Nombre de jours.
T Début d’une section de temps (obligatoire pour spécifier une durée composée d’heures, de minutes ou de secondes).
nH Nombre d’heures.
Nm Nombre de minutes.
S Nombre de secondes.

Durée exprimée au format XML.

Authentification mappée

L’attribut mappedAuthenticationDomain indique au service DRDA à quel domaine Microsoft Windows Active Directory les informations d’identification du client DRDA entrant (nom d’utilisateur et mot de passe) doivent être mappées lors de la connexion à un SQL Server configuré pour l’authentification Windows à l’aide de l’interface SSPI (Security Support Provider Interface) intégrée, mais pas lors de l’utilisation de Microsoft Enterprise Single Sign-On. Cet attribut facultatif accepte une valeur de chaîne . La valeur par défaut est une chaîne vide.

Remarque

L’authentification de sécurité du domaine d’authentification mappée nécessite la configuration supplémentaire suivante.

Connexion de base de données SQL Server

L’argument Sécurité intégrée dans la chaîne de connexion SQL Server doit être défini sur la valeur true.

L’attribut hostInitiatedAffiliateApplication dans l’élément de base de données du fichier MsDrdaService.exe.config doit être défini sur une valeur de chaîne vide. Vous ne pouvez pas utiliser l’authentification ESSO initiée par l’hôte simultanément avec l’authentification de sécurité du domaine d’authentification mappée.

Sécurité Windows pour le compte de service DRDA

Le MsDrdaService.exe doit s’exécuter dans le contexte d’un compte d’utilisateur de domaine (Domaine\Utilisateur).

Le compte de service doit être membre des groupes locaux HIS Administrateurs et HIS Runtime Users.

Stratégie de sécurité locale

Le compte de service nécessite ces paramètres de stratégie de sécurité locale pour s’exécuter en tant que service :

  • Le compte de service nécessite l’ouverture de session en tant que service.

  • Le compte de service requiert Act dans le cadre du système d’exploitation.

  • Le compte de service nécessite Access Credential Manager en tant qu’appelant approuvé.

  • Le compte de service nécessite l'option Activer les comptes d'ordinateur et d'utilisateur pour qu'ils soient approuvés pour la délégation.

DB2 pour la base de données de connexion z/OS (CDB)
Tableau Colonne Valeur Descriptif
SYSIBM.IPNAMES SÉCURITÉ_SORTIE P La valeur « P » désigne le mot de passe avec l’identificateur d’autorisation.
SYSIBM.IPNAMES NOMS D’UTILISATEUR O La valeur « O » désigne l’identificateur sortant de la table SYSIBM.USERNAMES.
SYSIBM. NOMS D’UTILISATEUR TYPE O La valeur « O » désigne la traduction sortante.
SYSIBM. NOMS D’UTILISATEUR AUTHID <chaîne> La valeur de chaîne est le nom d’utilisateur du domaine Windows Active Directory.
SYSIBM. NOMS D’UTILISATEUR MOT DE PASSE <chaîne> La valeur de chaîne est le mot de passe du domaine Windows Active Directory.

Paramètres de la base de données de connexion DB2 pour z/OS requis pour prendre en charge l’authentification de sécurité du domaine d'authentification mappé.

Délai d'expiration de la consultation d'authentification

L’attribut authenticationLookupTimeout indique au serveur DRDA la durée d’attente d’une demande de recherche d’authentification de sécurité avant d’échouer. Cet attribut facultatif accepte une valeur de durée . La valeur par défaut est PT30S (Période de temps est de 30 secondes). La valeur de durée est spécifiée sous la forme PnYnMnDTnHnMnS.

Élément Descriptif
P Durée de la période (obligatoire)
Ny Nombre d’années.
Nm Nombre de mois.
Nd Nombre de jours.
T Début d’une section de temps (obligatoire pour spécifier une durée composée d’heures, de minutes ou de secondes).
nH Nombre d’heures.
Nm Nombre de minutes.
S Nombre de secondes.

Durée exprimée au format XML.

Réessayages de recherche d'authentification

L’attribut authenticationLookupRetries indique au serveur DRDA le nombre de tentatives de demande de recherche d’authentification de sécurité avant d’échouer. Cet attribut facultatif accepte une valeur entière . La valeur par défaut est 3 nouvelles tentatives.

Déclarations SET

Le service DRDA se connecte à SQL Server via le fournisseur Microsoft ADO.NET Framework pour SQL Server et le client SQL sous-jacent. L’élément sqlSet du fichier MsDrdaService.exe.config contient les instructions SET que le serveur DRDA émet pour chaque connexion SQL Server afin de modifier la gestion de session actuelle d’informations spécifiques.

SET ARITHABORT

L’attribut arithAbort indique au serveur DRDA de émettre l’instruction SET ARITHABORT au moment de la connexion, de demander à SQL Server de mettre fin à une requête lorsqu’une erreur de dépassement de capacité ou de division par zéro se produit pendant l’exécution de la requête. Cet optional attribut accepte une string valeur. La valeur par défaut est ON.