Pianificazione e progettazione di soluzioni tramite il servizio Microsoft per DRDA
Le sezioni seguenti forniscono assistenza per la pianificazione e l'architettura delle soluzioni tramite Il servizio Microsoft per DRDA (Servizio DRDA).
Pianificazione
Le organizzazioni IT aziendali devono offrire nuove soluzioni, aumentando l'efficienza dello sviluppatore 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, mentre si connettono 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 illustra il piano per connettere IBM CICS per i programmi client z/OS, tramite DB2 per z/OS e il servizio per DRDA, a database microsoft SQL Server remoti.
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 a SQL Server stored procedure. Il servizio DRDA fornisce l'integrazione dei dati avviata dall'host essenziale per le aziende durante una migrazione a più fasi 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 in 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 SQL Server.
Comandi del linguaggio di manipolazione dei dati dinamici limitati mappati ai comandi T-SQL.
Mapping e conversione dei tipi di dati, codifica stringa e formattazione datetime.
Codice errore e mapping di testo a messaggi di risposta DRDA e oggetti di errore formattati.
Un'utilità di traccia per la registrazione di flussi e comandi al fine di facilitare la risoluzione dei problemi.
DRDA (Distributed Relational Database Architecture)
I client e i server IBM DB2 comunicano usando il protocollo e i formati DRDA (Distributed Relational Database Architecture). Il servizio DRDA funziona come server applicazione 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, come definito nei riferimenti all'architettura pubblicati da Open Group (http://www.opengroup.org).
DRDA, versione 5, volume 1: Architettura del database relazionale distribuita (DRDA)
DRDA, versione 5, Volume 2: Architettura del contenuto dell'oggetto dati formattata (FD:OCA)
DRDA, versione 5, Volume 3: Architettura distribuita Gestione dati (DDM)
È possibile scaricare DRDA V5 Vol. 3: Distributed Gestione dati 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 associate da client DRDA AR conformi allo standard DRDA versione 5, incluse le DRDA ARs in pacchetto in 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 application requester DRDA, uno progettato per connettersi ai server di database IBM DB2 remoti e uno progettato per connettersi ai server di database IBM Informix remoti. Queste ARS DRDA supportano un subset di DRDA versione 5.0. Il client Microsoft per DB2 supporta questi provider di dati per DB2:
Driver ODBC Microsoft per DB2
Provider Microsoft OLE DB per DB2
Provider di dati di Microsoft ADO.NET Framework per DB2
Adapter Microsoft BizTalk per DB2
Il servizio per DRDA offre il supporto DRDA di base per i client Microsoft DRDA 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 sicurezza integrata.
La figura precedente illustra come con Enterprise Single Sign-One abilitato il servizio DRDA è in grado di eseguire il mapping delle credenziali DRDA in ingresso alle credenziali di SQL Server in uscita.
L'host avviato da ESSO richiede autorizzazioni elevate in Active Directory (delega vincolata Kerberos e Usare qualsiasi protocollo di autenticazione). ESSO richiede un nome dell'entità 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 critiche per applicazioni line-of-business. SQL Server consente alle aziende di sbloccare nuove informazioni dettagliate tramite l'individuazione dei dati all'interno dell'organizzazione, fornendo strumenti di analisi coerenti su larga scala e analisi dei dati e datawarehousing. Il servizio DRDA può connettere 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 Microsoft SQL Server e ADO.NET Framework Data Provider per SQL Server per la connettività e l'accesso ai dati ai database 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 Microsoft SQL Server locale, fornendo servizi di compatibilità basati sull'architettura DRDA standard del settore (Distributed Relational Database Architecture) che definisce le comunicazioni da client a server DB2 sotto forma di set di punti e formati di codice del protocollo. Il servizio DRDA opera all'interno della 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 funzioni all'interno dei client DRDA come Application Requester (AS). Il servizio DRDA è un programma di servizio Windows che ospita un'istanza di Microsoft .NET Framework, si connette a un SQL Server Microsoft locale o remoto 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à
DRDA (Distributed Relational Database Architecture)
Il servizio DRDA converte i punti di codice DRDA e i formati di dati in connessioni, transazioni, comandi, tipi di dati e oggetti di errore corrispondenti di Microsoft ADO.NET. La funzione primaria del servizio DRDA consiste nel eseguire il mapping funzionale di SQL statico per i pacchetti DB2 e l'esecuzione dell'istruzione a Microsoft SQL Server istruzioni stored procedure e CALL. Il servizio DRDA elabora i flussi del protocollo DRDA come definito all'interno dell'architettura in base ai vari manager DRDA.
Trasporti e transazioni di rete
Il servizio DRDA supporta le connessioni client DRDA autenticate associato in una rete TCP/IP. Il servizio DRDA non supporta SNA APPC su LU6.2 usando HPR/IP (Routing ad alte prestazioni su 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 le connessioni di rete in memoria, denominate pipe e TCP/IP.
Per impostazione predefinita, il servizio DRDA ascolterà la porta DRDA predefinita 446 per le connessioni associate, accettando qualsiasi richiesta di connessione client DRDA. Facoltativamente, il servizio DRDA può essere in ascolto su un altro numero di porta preconfigurato. Inoltre, per migliorare la sicurezza, il servizio DRDA può essere configurato per accettare richieste di connessione associate a un elenco predefinito di indirizzi di rete remoti.
Per abilitare gli aggiornamenti affidabili in rete, il servizio DRDA supporta le transazioni di commit DRDA DUW (Unità distribuita di lavoro) a due fasi. Le transazioni DRDA DUW vengono mappate alle transazioni 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 tramite la configurazione delle opzioni di pooling client SQL negli argomenti SQL Server stringa di connessione nella configurazione dell'app del servizio DRDA. Inoltre, il servizio DRDA offre un pool di connessioni interno, il mapping delle connessioni client DRDA AR associate e delle credenziali di autenticazione a SQL Server connessioni alle banche dati e credenziali associate.
Il server primario del servizio DRDA e del server partner funzionano insieme per il failover a tolleranza di errore.
Il servizio DRDA può funzionare 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 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, l'AR DRDA può usare queste informazioni per connettersi al membro alternativo di una coppia di computer del servizio DRDA. Combinato con SQL Server clustering o mirroring, questa tecnologia può offrire un livello ragionevole di protezione del failover a tolleranza di errore.
Autenticazione e crittografia
Per proteggere le informazioni, il servizio DRDA supporta tecnologie comuni di autenticazione e crittografia dei dati DRDA. Ad esempio, il servizio DRDA può supportare l'autenticazione di base (nome utente con codifica EBCDIC di testo normale con password) o l'autenticazione sicura usando a 256 bit Advanced Encryption Standard (AES). Inoltre, il servizio DRDA può supportare l'autenticazione combinata e la crittografia usando Secure Sockets Layer (SSL) V3.0 o Transport Layer Security (TLS) V1.0.
Per fornire l'autenticazione integrata, il servizio DRDA può combinare la convalida delle credenziali associata associato e il mapping usando Microsoft Enterprise Single Sign-On (ESSO), con l'autenticazione SQL Server associata a Windows usando Windows SSPI (Security Support Provider Interface). Ad esempio, il servizio DRDA può usare ESSO per eseguire il mapping di un nome utente e una password di IBM RACF (Resource Controllo di accesso Facility) a un dominio\nome utente di Microsoft Windows Active Directory, con cui connettersi alla 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 SQL statici definiti in remoto per i pacchetti DB2, eseguendo il mapping delle istruzioni del pacchetto alle stored procedure SQL Server. Ad esempio, quando un amministratore DB2 o un programmatore associa copia un pacchetto DB2 in SQL Server, il servizio DRDA converte i flussi DRDA BNDSQLSTT (Bind SQL Statement) in istruzioni T-SQL CREATE PROCEDURE SQL Server. Quando il programma DB2 esegue l'istruzione pacchetto remoto, il servizio DRDA converte LRDA 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 SQL Server. Ad esempio, un amministratore DB2 può usare QMF (Query Management Facility) per z/OS per eseguire query su una tabella di SQL Server remota.
Sintassi SQL
Il servizio DRDA ha un database DB2 ANSI limitato per SQL Server trasformatore di sintassi di comando T-SQL che usa per i pacchetti di associazione, eseguendo istruzioni SQL statiche e dinamiche. Facoltativamente, il servizio DRDA offre funzioni DB2 compatibili aggiuntive sotto forma di funzioni basate su CLR SQL Server.
Il servizio DRDA offre un componente di associazione di pacchetti sostituibile per l'elaborazione delle istruzioni DRDA BNDSQLSTT (Bind SQL Statement) per SQL Server istruzioni CREATE PROCEDURE T-SQL. 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 schema
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ò eseguire il mapping di un nome di database RDBNAM (Nome database relazionale) Associato a un nome di database SQL Server associato. Inoltre, il servizio DRDA può eseguire il mapping di un DRDA COLLID (Identificatore raccolta) a un nome di schema SQL Server in uscita.
Conversione tipo di dati
Per supportare l'interoperabilità multipiattaforma tra database SQL Server in esecuzione nei sistemi operativi Windows e nei server DB2 in esecuzione su 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 convertirà db2 decimale associato a un limite di SQL Server denaro.
Codifiche di stringhe
Il servizio DRDA supporta la conversione da codifiche di stringa EBCDIC DB2 a codifiche ANSI e UNICODE SQL Server. Facoltativamente, il servizio DRDA supporta i file di conversione NLS (National Language Support) di Windows EBCDIC-to-UNICODE modificati. Inoltre, il servizio DRDA offre la sostituzione dei caratteri in linea in base a una mappa predefinita usando coppie di valori esadecimali CCSID (Coded Character Set Identifier).
Formattazione datetime
Il servizio DRDA offre in linea DB2 DATE/TIME/TIMESTAMP per SQL Server formato data/ora/datetime2 e conversioni di valori letterali stringa. Ad esempio, il servizio DRDA può convertire un valore letterale stringa TIMESTAMP formattato in associato a DB2 nel formato AAAA-MM-DD-hh.mm.ss.tttttttt in SQL Server un valore di datatime2(6) con associazione out nel formato AAAA-MM-GG hh:mm:ss.tttttttt.
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 dinamici della configurazione.
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 di servizio Diritti dei criteri di sicurezza Gestione connessione Gestore della sicurezza SQL Gestione accesso SQL Gestione database |
Registro di sistema di Windows MsDrdaService.exe.config MSDRDAErrorMappings.xml |
Conversione dati | Mapping di tipi di dati Formati Date, Time, DateTime |
DB2ToMSSql.xml MSSQLToDB2.xml MsDrdaService.exe.config |
Conversione delle tabelle codici | Tabelle codici personalizzate Mapping dei punti di codice |
Registro di sistema di Windows MsDrdaService.exe.config |
Associa listener | Listener predefinito Listener personalizzato |
MsDrdaService.exe.config |
Listener di traccia | Listener di testo Console Listener ETW Listener Listener personalizzato |
MsDrdaService.exe.config |
Registro eventi | evento | Registro applicazioni |
Monitoraggio delle prestazioni | Counters | 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.
Traccia
Il servizio DRDA supporta la traccia del listener della console di opzioni di traccia, la traccia del listener di testo, il listener del log eventi, il listener ETW (Event Tracing for Windows) e la traccia personalizzata. L'amministratore usa la traccia della console durante l'esecuzione del 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 in modalità console, per restituire i dati di traccia in un file leggibile dal testo. Il servizio DRDA inserisce automaticamente gli elementi di traccia del listener del log 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 restituire tutti o i dati di traccia selezionati in un altro componente.
Contabilità e registrazione
Il servizio DRDA supporta i punti di codice di contabilità DRDA standard: Nome workstation client; ID utente client; Nome applicazione client; e Contabilità 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 un contesto dell'applicazione e dell'utente specifico. Facoltativamente, lo sviluppatore aziendale può implementare un listener di traccia del cliente del servizio DRDA con cui registrare le richieste del client DRDA AR. Ad esempio, un listener di traccia del cliente può registrare l'accesso alla rete e al database selezionato, in base al valore di un account client, a un database di registrazione di SQL Server remoto.
Mapping degli errori
Il servizio DRDA restituisce SQL Server errori sotto forma di un messaggio di risposta del punto di codice DRDA (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 da SQL Server codice di errore e testo di errore a SQLCODE, SQLSTATE, Reason Code e Error Message.