Gestione connessione ADO.NET

Si applica a: sìSQL Server (tutte le versioni supportate) sì SSIS Integration Runtime in Azure Data Factory

Una gestione connessione ADO.NET consente l'accesso di un pacchetto alle origini dati tramite un provider .NET. Questa gestione connessione viene di solito usata per accedere a origini dati come Microsoft SQL Server. È anche possibile accedere a origini dati esposte tramite OLE DB e XML in attività personalizzate scritte in codice gestito, usando un linguaggio come C#.

Quando si aggiunge una gestione connessione ADO.NET a un pacchetto, SQL ServerIntegration Services crea una gestione connessione che viene risolta come una connessione ADO.NET in fase di esecuzione. Vengono impostate le proprietà della gestione connessione e la gestione connessione viene aggiunta alla raccolta Connessioni del pacchetto.

La proprietà ConnectionManagerType della gestione connessione viene impostata su ADO.NET. Il valore di ConnectionManagerType è qualificato con il nome del provider .NET utilizzato dalla gestione connessione.

Risoluzione dei problemi relativi alla gestione connessione ADO.NET

È possibile registrare le chiamate eseguite dalla gestione connessione ADO.NET a provider di dati esterni. Si possono quindi risolvere i problemi relativi alle connessioni stabilite dalla gestione connessione ADO.NET a origini dati esterne. Per registrare le chiamate eseguite dalla gestione connessione ADO.NET a provider di dati esterni, abilitare la registrazione dei pacchetti e selezionare l'evento Diagnostic a livello di pacchetto. Per altre informazioni, vedere Risoluzione dei problemi relativi agli strumenti per l'esecuzione del pacchetto.

Durante la lettura da parte di una gestione connessione ADO.NET, i dati di alcuni tipi di dati date di SQL Server genereranno i risultati indicati nella tabella seguente.

Tipo di dati di SQL Server Risultato
time, datetimeoffset L'esecuzione del pacchetto non viene completata correttamente, a meno che non vengano utilizzati comandi SQL con parametri. È necessario servirsi dell'attività Esegui SQL nel pacchetto per utilizzare i comandi SQL con parametri. Per altre informazioni, vedere Attività Esegui SQL e Parametri e codici restituiti nell'attività Esegui SQL.
datetime2 La gestione connessione ADO.NET tronca il valore relativo ai millisecondi.

Nota

Per altre informazioni sui tipi di dati SQL Server e sul relativo mapping nei tipi di dati Integration Services, vedere Tipi di dati (Transact-SQL) e Tipi di dati di Integration Services.

Configurazione della gestione connessione ADO.NET

È possibile impostare le proprietà con Progettazione SSIS o a livello di codice.

  • Specificare una stringa di connessione configurata in modo da soddisfare i requisiti del provider .NET selezionato.

  • Se richiesto dal provider, includere il nome dell'origine dei dati a cui connettersi.

  • Specificare le credenziali di sicurezza come previsto dal provider selezionato.

  • Indicare se la connessione creata dalla gestione connessione deve essere mantenuta in fase di esecuzione.

Molte delle opzioni di configurazione della gestione connessione ADO.NET dipendono dal provider .NET usato dalla gestione connessione.

Per altre informazioni sulle proprietà che è possibile impostare in Progettazione SSIS, vedere Configurare la gestione connessione ADO.NET.

Per informazioni sulla configurazione di una gestione connessione a livello di programmazione, vedere l'articolo relativo a ConnectionManager e Aggiunta di connessioni a livello di programmazione.

Configurare la gestione connessione ADO.NET

Usare la finestra di dialogo Configura gestione connessione ADO.NET per aggiungere una connessione a un'origine dati accessibile tramite un provider di dati .NET Framework, ad esempio il provider SqlClient. La gestione connessione può utilizzare una connessione esistente oppure è possibile crearne una nuova.

Per ulteriori informazioni sulla gestione connessione ADO.NET, vedere ADO.NET Connection Manager.

Opzioni

Connessioni dati
Consente di selezionare una connessione dati ADO.NET esistente nell'elenco.

Proprietà connessione dati
Consente di visualizzare proprietà e valori per la connessione dati ADO.NET selezionata.

Nuovo
Consente di creare una connessione dati ADO.NET tramite la finestra di dialogo Gestione connessione .

Elimina
Selezionare una connessione e quindi eliminarla selezionando Elimina.

Identità gestite per l'autenticazione delle risorse di Azure

Quando si eseguono pacchetti SSIS in Azure-SSIS Integration Runtime (IR) in Azure Data Factory (ADF), è possibile usare l'autenticazione Azure Active Directory (AAD) con l'identità gestita assegnata dal sistema o dall'utente specificata per l'accesso database SQL di Azure server/Istanza gestita. Il Azure-SSIS IR può accedere e copiare dati da o nel database usando questa identità gestita.

Nota

Quando si usa l'autenticazione AAD per accedere database SQL di Azure server/Istanza gestita, è possibile che si verifichi un problema correlato a un errore di esecuzione del pacchetto o a una modifica del comportamento imprevista. Per altre informazioni, vedere Funzionalità e limitazioni di AAD.

Per usare l'autenticazione AAD con l'identità gestita assegnata dall'utente o dal sistema specificata per l'accesso database SQL di Azure server, seguire questa procedura:

  1. Effettuare il provisioning di un amministratore di AAD per database SQL di Azure server portale di Azure, se non è già stato fatto. L'amministratore di AAD può essere un utente o un gruppo di AAD. Se si concede un ruolo amministratore al gruppo con l'identità gestita assegnata dall'utente o di sistema specificata per l'istanza di Active Directory, ignorare i passaggi da 2 a 3. L'amministratore avrà accesso completo al server database SQL di Azure locale.

  2. Creare un utente del database indipendente per rappresentare l'identità gestita assegnata dall'utente o dal sistema specificata per l'istanza di Active Directory. Connessione nel database da o in cui si desidera copiare i dati usando SQL Server Management Studio (SSMS) con un utente di AAD con almeno l'autorizzazione ALTER ANY USER. Eseguire l'istruzione T-SQL seguente:

    CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
    

    Se si usa l'identità gestita di sistema per adf, il nome dell'identità gestita deve essere il nome di ADF. Se si usa un'identità gestita assegnata dall'utente per adf, il nome dell'identità gestita deve essere il nome dell'identità gestita assegnata dall'utente specificato.

  3. Concedere all'identità gestita assegnata dall'utente o al sistema specificato le autorizzazioni necessarie, come si fa normalmente per SQL utenti. Per i ruoli appropriati, vedere Ruoli a livello di database. Eseguire l'istruzione T-SQL seguente. Per altre opzioni, vedere questo articolo.

    EXEC sp_addrolemember [role name], [your managed identity name];
    

Per usare l'autenticazione AAD con l'identità gestita assegnata dall'utente o dal sistema specificata per l'accesso ad Azure SQL Istanza gestita, seguire questa procedura:

  1. Effettuare il provisioning di un amministratore di AAD per SQL Istanza gestita azure portale di Azure, se non è già stato fatto. L'amministratore di AAD può essere un utente o un gruppo di AAD. Se si concede un ruolo amministratore al gruppo con l'identità gestita assegnata dall'utente o di sistema specificata per l'istanza di Active Directory, ignorare i passaggi da 2 a 4. L'amministratore avrà accesso completo all'istanza di Azure SQL Istanza gestita.

  2. Creare un account di accesso assegnato all'identità gestita assegnata dal sistema o dall'utente specificata per l'istanza di Active Directory. In SSMS connettersi all'istanza di Azure SQL Istanza gestita usando SQL Server account sysadmin. Nel database master eseguire l'istruzione T-SQL seguente:

    CREATE LOGIN [your managed identity name] FROM EXTERNAL PROVIDER;
    

    Se si usa l'identità gestita di sistema per adf, il nome dell'identità gestita deve essere il nome di ADF. Se si usa un'identità gestita assegnata dall'utente per adf, il nome dell'identità gestita deve essere il nome dell'identità gestita assegnata dall'utente specificato.

  3. Creare un utente del database indipendente che rappresenta l'identità gestita assegnata dall'utente o dal sistema specificata per l'istanza di Active Directory. Connessione nel database da o in cui si desidera copiare i dati usando SSMS ed eseguire l'istruzione T-SQL seguente:

    CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
    
  4. Concedere all'identità gestita assegnata dall'utente o al sistema specificato le autorizzazioni necessarie, come si fa normalmente per SQL utenti. Eseguire l'istruzione T-SQL seguente. Per altre opzioni, vedere questo articolo.

    ALTER ROLE [role name e.g., db_owner] ADD MEMBER [your managed identity name];
    

Infine, è possibile configurare l'autenticazione AAD con l'identità gestita assegnata dall'utente o dal sistema specificata per l'istanza di Active Directory nella ADO.NET connessione. Sono disponibili le opzioni seguenti:

  • Configurare in fase di progettazione. In Progettazione SSIS fare clic con il pulsante destro del mouse ADO.NET gestione connessione e scegliere Proprietà. Aggiornare la proprietà ConnectUsingManagedIdentity impostandola su True.

    Nota

    Attualmente, la proprietà della gestione connessione non ha effetto (a indicare che l'autenticazione di AAD con l'identità gestita assegnata dall'utente o di sistema specificata per ADF non funziona) quando si esegue il pacchetto in Progettazione SSIS o in ConnectUsingManagedIdentity SQL Server.

  • Configurare in fase di esecuzione. Quando si esegue il pacchetto tramite SSMS o l'attività Esegui pacchetto SSIS nella pipeline di AdF,trovare la gestione connessione ADO.NET e aggiornarne la ConnectUsingManagedIdentity proprietà su True .

    Nota

    In Azure-SSIS IR, tutti gli altri metodi di autenticazione (ad esempio sicurezza integrata e password) preconfigurati nella gestione connessione ADO.NET vengono sostituiti quando si usa l'autenticazione AAD con l'identità gestita assegnata dall'utente o dal sistema specificata per l'adf.

Per configurare l'autenticazione AAD con l'identità gestita assegnata dal sistema o dall'utente specificata per l'adf nei pacchetti esistenti, è preferibile ricompilare il progetto SSIS con la versione più recente di Progettazione SSIS almeno una volta. Ridistribuire il progetto SSIS per l'esecuzione in Azure-SSIS IR, in modo che la nuova proprietà della gestione connessione sia aggiunta automaticamente a tutte le ADO.NET ConnectUsingManagedIdentity di connessione nel progetto. In alternativa, usare direttamente gli override delle proprietà con il percorso della proprietà \Package.Connections[{nome della gestione connessione}]. Proprietà [ConnectUsingManagedIdentity] assegnate a True in fase di esecuzione.

Vedi anche