Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le sezioni seguenti forniscono assistenza per la pianificazione e la progettazione di soluzioni che usano il servizio Microsoft per DRDA (DRDA Service).
Pianificazione
Le organizzazioni IT aziendali devono offrire nuove soluzioni, aumentando al contempo l'efficienza degli sviluppatori e riducendo i costi. Il servizio DRDA offre tecnologia e strumenti per consentire ai professionisti IT e agli sviluppatori aziendali di distribuire nuove soluzioni basate su Microsoft SQL Server, connettendo al contempo carichi di lavoro esistenti basati su IBM DB2. Il diagramma seguente fornisce un'architettura di alto livello delle tecnologie e dei componenti coinvolti in una soluzione di servizio DRDA che connette i client IBM DB2 ai database di Microsoft SQL Server.
La figura precedente mostra il piano per connettere IBM CICS per i programmi client z/OS, tramite DB2 per z/OS e il servizio per DRDA, ai database remoti di Microsoft SQL Server.
Il servizio Microsoft per DRDA (Distributed Relational Database Architecture) è un server applicazioni (AS) che consente ai client DRDA Application Requester (AR), ad esempio IBM DB2 per z/OS e DB2 per IBM i, di eseguire istruzioni SQL statiche mappate alle stored procedure di SQL Server. Il servizio DRDA fornisce l'integrazione dei dati avviata dall'host essenziale per le aziende durante una migrazione graduale del carico di lavoro o per le operazioni quotidiane a supporto di soluzioni di business intelligence o batch remoto.
Il servizio DRDA offre le funzionalità seguenti.
Accesso da client DRDA a SQL Server attraverso una connessione di rete TCP/IP.
Autenticazione di sicurezza e crittografia dei dati.
Transazioni di commit in due fasi distribuite.
Istruzioni SQL statiche mappate alle chiamate di stored procedure di SQL Server.
Comandi del linguaggio di manipolazione dei dati dinamici limitati mappati ai comandi T-SQL.
Mappatura e conversione dei tipi di dati, codifica delle stringhe e formattazione di data e ora.
Codice di errore e mappatura del testo ai messaggi di risposta DRDA e agli oggetti di errore formattati.
Un'utilità di traccia per la registrazione di flussi e comandi per consentire la risoluzione dei problemi.
Architettura di database relazionale distribuita
I client e i server IBM DB2 comunicano usando il protocollo e i formati DRDA (Distributed Relational Database Architecture). Il servizio DRDA funge da server applicazioni DRDA (AS) per consentire ai client DRDA Application Requester (AR) di interagire con i database di Microsoft SQL Server. Il servizio DRDA supporta un set limitato di punti di codice DRDA definiti nei riferimenti all'architettura pubblicati da The Open Group (http://www.opengroup.org).
DRDA, versione 5, Volume 1: Distributed Relational Database Architecture (DRDA)
DRDA, versione 5, volume 2: architettura del contenuto dell'oggetto dati formattato (FD:OCA)
DRDA, versione 5, volume 3: architettura DDM (Distributed Data Management)
È possibile scaricare DRDA V5 Vol. 3: Distributed Data Management Architecture, numero di pubblicazione C114, dalla libreria Open Group (https://go.microsoft.com/fwlink/?LinkID=219127& clcid=0x409).
Server e client IBM DB2
Microsoft, IBM e fornitori di terze parti implementano protocolli e formati DRDA in varie tecnologie client DRDA Application Requester (AR). Il servizio DRDA supporta connessioni in entrata da client DRDA AR conformi allo standard DRDA Versione 5, inclusi i client DRDA AR nei pacchetti di questi prodotti IBM e Microsoft.
IBM DB2 per z/OS 12 e 11
IBM DB2 per IBM i 7.4, 7.3 e 7.2
IBM DB2 per LUW 11.5, 11 e 10.5
Microsoft Host Integration Server include due client DRDA Application Requester: uno per connettersi ai server di database IBM DB2 remoti e uno per connettersi ai server di database IBM Informix remoti. Questi elementi DRDA supportano un sottoinsieme della versione 5.0 di DRDA. Il client Microsoft per DB2 supporta questi provider di dati per DB2:
Microsoft ODBC Driver for DB2
Provider Microsoft OLE DB per DB2
Provider di dati Microsoft ADO.NET Framework per DB2
Adapter Microsoft BizTalk per DB2
Il servizio per DRDA fornisce il supporto DRDA di base per i client DRDA Microsoft e i client IBM DRDA.
Enterprise Single Sign-On
Il servizio DRDA si basa su Microsoft Enterprise Single Sign-On per eseguire il mapping delle credenziali host associate (ad esempio, l'identificatore di autorizzazione utente RACF) alle credenziali di Windows Active Directory (AD) associate, consentendo al servizio DRDA di connettersi a SQL Server tramite la sicurezza integrata.
La figura precedente mostra come con Enterprise Single Sign-One abilitato il servizio DRDA sia in grado di eseguire il mapping delle credenziali DRDA in ingresso alle credenziali di SQL Server in uscita.
SSO iniziato dall'host richiede autorizzazioni elevate in Active Directory (delega vincolata Kerberos e utilizzo di qualsiasi protocollo di autenticazione). ESSO richiede un nome principale del servizio Kerberos per il computer SQL Server a cui si connette il servizio DRDA. .
Microsoft SQL Server
Gli amministratori aziendali e gli sviluppatori si basano su Microsoft SQL Server per creare piattaforme dati cruciali per applicazioni line-of-business. SQL Server consente alle aziende di sbloccare nuove informazioni dettagliate tramite l'individuazione dei dati nell'organizzazione, fornendo al tempo stesso strumenti di analisi coerenti e analisi su larga scala e data warehousing. Il servizio DRDA può connettere i carichi di lavoro host IBM esistenti a nuove soluzioni basate su Microsoft SQL Server per abilitare applicazioni aziendali eterogenee e business intelligence.
Il servizio DRDA si basa sul client di rete di Microsoft SQL Server e sul provider di dati di ADO.NET Framework per SQL Server per la connettività e l'accesso ai dati ai database di SQL Server. Per altre informazioni su Microsoft SQL Server, vedere http://www.microsoft.com/sql.
Architettura
Il servizio DRDA consente la connettività da un programma client IBM DB2 remoto e da un database locale di Microsoft SQL Server, fornendo servizi di compatibilità basati sul DRDA standard del settore (Distributed Relational Database Architecture) che definisce le comunicazioni da client a server DB2 sotto forma di un set di punti di codice e formati di protocollo. Il servizio DRDA opera all'interno di DRDA come server applicazioni (AS). I programmi client IBM DB2 (ad esempio, COBOL TOS e CICS per z/OS) sono collegati localmente a DB2 per z/OS e funzionano all'interno del DRDA come richiedenti applicazioni (AS). Il servizio DRDA è un programma di servizio Windows che ospita un'istanza di Microsoft .NET Framework, si connette a un'istanza di Microsoft SQL Server locale o remota usando il provider di dati Microsoft ADO.NET Framework per SQL Server e il client di rete Microsoft SQL Server sottostante.
La figura precedente mostra una soluzione di servizio DRDA che connette IBM DB2 per z/OS a Microsoft SQL Server.
Connettività
Architettura di database relazionale distribuita
Il servizio DRDA converte i punti di codice e i formati di dati DRDA in connessioni, transazioni, comandi, tipi di dati e oggetti di errore Microsoft ADO.NET corrispondenti. La funzione principale del servizio DRDA consiste nel mappare funzionalmente l'SQL statico per i pacchetti DB2 e nell'eseguire istruzioni utilizzando le stored procedure e le istruzioni CALL di Microsoft SQL Server. Il servizio DRDA elabora i flussi del protocollo DRDA definiti all'interno dell'architettura in base ai vari manager DRDA.
Trasporti e transazioni di rete
Il servizio DRDA supporta le connessioni client DRDA autenticate attraverso una rete TCP/IP. Il servizio DRDA non supporta SNA APPC su LU6.2 usando HPR/IP (routing ad alte prestazioni tramite protocollo Internet). Per connettersi a SQL Server, il servizio DRDA usa un provider microsoft ADO.NET sottostante per SQL Server e client di rete SQL, che supporta connessioni in memoria, named pipe e connessioni di rete TCP/IP.
Per impostazione predefinita, il servizio DRDA rimarrà in ascolto sulla porta DRDA predefinita 446 per le connessioni in ingresso, accettando qualsiasi richiesta di connessione da parte di un client DRDA. Il servizio DRDA può, facoltativamente, ascoltare su un altro numero di porta preconfigurato. Inoltre, per migliorare la sicurezza, il servizio DRDA può essere configurato per accettare richieste di connessione in ingresso da un elenco predefinito di indirizzi di rete remoti.
Per abilitare gli aggiornamenti affidabili in rete, il servizio DRDA supporta le transazioni di commit in due fasi DRDA DUW (Distributed Unit of Work). Le transazioni DRDA DUW vengono mappate alle transazioni di SQL Server tramite il provider di dati Microsoft ADO.NET Framework per SQL Server e il client di rete SQL sottostante.
Pooling e failover
Il servizio DRDA supporta il pool di connessioni client SQL configurando le opzioni di pooling del client SQL negli argomenti della stringa di connessione di SQL Server nella configurazione dell'applicazione del servizio DRDA. Inoltre, il servizio DRDA offre un pool di connessioni interno, eseguendo il mapping delle connessioni client DRDA AR in entrata e delle credenziali di autenticazione a connessioni e credenziali del database SQL Server in uscita.
I server primario e partner DRDA collaborano per un failover tollerante agli errori.
Il servizio DRDA può operare in gruppi di due (2) server, uno per computer, per fornire la tolleranza di errore di base. Quando un client DRDA AR si connette a un database di SQL Server, il servizio DRDA restituisce un DRDA SRVLST (Elenco server) con un elenco ponderato di istanze di Data Server. In caso di failover di un servizio DRDA primario, DRDA AR può usare queste informazioni per connettersi al membro alternativo di una coppia di computer del servizio DRDA. In combinazione con il clustering o il mirroring di SQL Server, questa tecnologia può offrire un livello ragionevole di protezione failover ad alta tolleranza agli errori.
Autenticazione e crittografia
Per proteggere le informazioni, il servizio DRDA supporta tecnologie comuni di autenticazione DRDA e crittografia dei dati. Ad esempio, il servizio DRDA può supportare l'autenticazione di base (nome utente con codifica EBCDIC in testo normale con password) o l'autenticazione sicura usando AES (Advanced Encryption Standard) a 256 bit. Inoltre, il servizio DRDA può supportare l'autenticazione combinata e la crittografia usando SSL (Secure Sockets Layer) V3.0 o Transport Layer Security (TLS) V1.0.
Per fornire l'autenticazione integrata, il servizio DRDA può combinare la convalida e il mapping delle credenziali in entrata utilizzando Microsoft Enterprise Single Sign-On (ESSO), con l'autenticazione SQL Server in uscita tramite Windows SSPI (Security Support Provider Interface). Ad esempio, il servizio DRDA può lavorare con ESSO per eseguire il mapping di un nome utente e una password IBM RACF (Resource Access Control Facility) a un dominio\nome utente di Microsoft Windows Active Directory, con cui connettersi con la sicurezza integrata a un database di SQL Server remoto.
Compatibilità
SQL statico e dinamico
Principalmente, il servizio DRDA consente ai programmi client DB2 di eseguire pacchetti SQL statici definiti in remoto per DB2 eseguendo il mapping delle istruzioni del pacchetto alle stored procedure di SQL Server. Ad esempio, quando un amministratore DB2 o un programmatore associa un pacchetto DB2 a SQL Server, il servizio DRDA converte i flussi DRDA BNDSQLSTT (istruzione BIND SQL) nelle istruzioni T-SQL CREATE PROCEDURE di SQL Server. Quando il programma DB2 esegue l'istruzione del pacchetto remoto, il servizio DRDA converte DRDA OPNQRY (Open Query) o EXCSQLSTT (Execute SQL Statement) in un'istruzione CALL.
Secondariamente, il servizio DRDA supporta operazioni SQL dinamiche limitate per consentire ai programmi client DB2 di eseguire comandi T-SQL remoti di SQL Server. Ad esempio, un amministratore DB2 può usare QMF (Query Management Facility) per z/OS per eseguire query su una tabella remota di SQL Server.
Sintassi SQL
Il servizio DRDA ha un trasformatore di sintassi di comando T-SQL limitato da DB2 ANSI a SQL Server che usa per l'associazione di pacchetti, eseguendo istruzioni SQL statiche e dinamiche. Facoltativamente, il servizio DRDA offre funzioni DB2 compatibili aggiuntive sotto forma di funzioni basate su CLR di SQL Server.
Il servizio DRDA offre un componente di associazione di pacchetti sostituibile per l'elaborazione delle istruzioni DRDA BNDSQLSTT (Bind SQL Statement) alle istruzioni T-SQL CREATE PROCEDURE di SQL Server. Ad esempio, uno sviluppatore ISV (Independent Software Vendor) o enterprise può implementare un componente di associazione di pacchetti personalizzato per supportare sintassi, tipo di dati, codifica o altre conversioni necessarie.
Nomi di catalogo e schemi
Il servizio DRDA offre il mapping di base degli identificatori di oggetto di alto livello, inclusi i nomi di catalogo e schema. Ad esempio, il servizio DRDA può mappare un nome di database DRDA RDBNAM (Nome database relazionale) in un nome di database di SQL Server. Inoltre, il servizio DRDA può mappare un DRDA COLLID (Identificatore raccolta) al nome dello schema del SQL Server in uscita.
Conversione dei tipi di dati
Per supportare l'interoperabilità multipiattaforma tra i database di SQL Server in esecuzione nei sistemi operativi Windows e nei server DB2 in esecuzione in z/OS e IBM i, il servizio DRDA offre un set di mapping e conversioni dei tipi di dati definiti nei file XML (DB2ToMSSql.xml e MSSQLToDB2.xml). Ad esempio, il servizio DRDA può eseguire il mapping e convertire il valore DB2 DECIMAL in arrivo nel tipo di dati SQL Server 'money' in uscita.
Codifiche delle stringhe
Il servizio DRDA supporta la conversione da codifiche di stringhe EBCDIC DB2 a codifiche ANSI e UNICODE di SQL Server. Facoltativamente, il servizio DRDA supporta i file di conversione NLS (National Language Support) sostituibili di Windows, da EBCDIC a UNICODE, modificati. Inoltre, il servizio DRDA offre una sostituzione dei caratteri in linea basata su una mappa predefinita usando coppie di valori esadecimali CCSID (Identificatore set di caratteri codificati).
Formattazione della data e dell'ora
Il servizio DRDA offre conversioni in linea da formato DB2 DATA/ORA/TIMESTAMP a formato SQL Server date/time/datetime2, incluse le conversioni di valori letterali di stringa. Ad esempio, il servizio DRDA può convertire un valore letterale di stringa TIMESTAMP nel formato DB2 in entrata, AAAA-MM-DD-hh.mm.ss.tttttt, in un valore datetime2(6) di SQL Server in uscita, nel formato AAAA-MM-DD hh:mm:ss.tttttt.
Amministrazione
Un amministratore può configurare il servizio DRDA modificando il file MsDrdaService.exe.config, insieme ai file XML ausiliari (tipi di dati e mapping degli errori), prima di avviare il servizio DRDA. Facoltativamente, il servizio DRDA offre una lettura immediata del MsDrdaService.exe.config per abilitare gli aggiornamenti della configurazione dinamica.
Configurazione
Dopo l'installazione, i professionisti IT possono personalizzare la configurazione del servizio DRDA modificando il file MsDrdaService.exe.config e aggiornando altri file XML. Di seguito è riportato un elenco dei componenti del servizio DRDA, degli elementi configurabili e degli archivi di configurazione.
| Componente | Elementi | Archivio di configurazione |
|---|---|---|
| Servizio DRDA | Credenziali del servizio Diritti della politica di sicurezza Gestione connessioni Gestione sicurezza Gestione accesso SQL Responsabile del database |
Registro di sistema di Windows MsDrdaService.exe.config MSDRDAErrorMappings.xml |
| Conversione dei dati | Mappature dei tipi di dati Formati Date, Time, DateTime |
DB2ToMSSql.xml MSSQLToDB2.xml MsDrdaService.exe.config |
| Conversione pagina codice | Pagine di codice personalizzate Mappature dei punti di codice |
Registro di sistema di Windows MsDrdaService.exe.config |
| Associare listener | Listener predefinito Listener personalizzato |
MsDrdaService.exe.config |
| Listener di tracce | Ascoltatore di testo Console Listener ETW Listener Listener personalizzato |
MsDrdaService.exe.config |
| Registro eventi | Avvenimenti | Log delle applicazioni |
| Monitor delle prestazioni | Contatori | Registro di sistema di Windows MsDrdaService.exe.config |
Nella tabella precedente sono elencati i componenti, gli elementi e gli archivi di configurazione del servizio DRDA configurabili.
Tracciamento
Il servizio DRDA supporta più opzioni di tracciamento: tracciamento del listener della console, tracciamento del listener di testo, listener del log eventi, listener ETW (Event Tracing for Windows) e tracciamento personalizzato. L'amministratore usa la traccia della console quando si esegue il servizio DRDA in modalità console di Windows per restituire i dati di traccia sullo schermo. L'amministratore usa la traccia di testo quando si esegue il servizio DRDA in modalità servizio Windows o console, per restituire i dati di traccia in un file leggibile dal testo. Il servizio DRDA pubblica automaticamente gli elementi di traccia del listener del registro eventi nel registro eventi di Windows. L'amministratore usa la traccia ETW per la raccolta di dati ad alta velocità. Facoltativamente, lo sviluppatore aziendale può implementare un listener di traccia personalizzato per trasmettere tutti i dati di traccia o solo quelli selezionati verso un altro componente.
Contabilità e registrazione
Il servizio DRDA supporta i punti di codice contabilità DRDA standard: Nome workstation client; ID utente client; Nome applicazione client; e Contabilità del client. Uno sviluppatore aziendale può specificare valori dinamici nel programma con cui popolare le proprietà di contabilità client DRDA. Il servizio DRDA legge i valori in fase di esecuzione per popolare la traccia del servizio DRDA, consentendo la correlazione dei problemi a specifici contesti dell'applicazione e dell'utente. Facoltativamente, lo sviluppatore aziendale può implementare un listener di traccia del cliente del servizio DRDA con cui registrare le richieste client DRDA AR. Ad esempio, un listener di traccia del cliente può registrare l'accesso alla rete e al database selezionati, in base al valore di un account cliente, su un database di registrazione SQL Server remoto.
Mappatura degli errori
Il servizio DRDA restituisce errori di SQL Server sotto forma di un DRDA code point Reply Message (RM) o DRDA SQLCARD (SQL Communications Area Reply Data). Per impostazione predefinita, per i problemi comuni, il servizio DRDA usa una tabella predefinita per eseguire il mapping dei codici di errore SQL e delle stringhe di errore ai messaggi di risposta e agli errori DRDA. Inoltre, il servizio DRDA usa un file di MsDrdaErrorMappings.xml esterno per eseguire il mapping dal codice di errore di SQL Server e dal testo dell'errore a SQLCODE, SQLSTATE, Codice motivo e Messaggio di errore.