Gestione connessione ADO.NET
Si applica a: SQL Server 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 Server Integration Services crea una gestione connessione risolta come 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.
Nota
Microsoft Entra ID era precedentemente conosciuto come Azure Active Directory (Azure AD).
Risoluzione dei problemi relativi alla gestione connessione ADO.NET
Il driver Microsoft.Data.SqlClient non è supportato in SQL 2022 e versioni successive. Se è necessario un metodo di autenticazione msi o un metodo basato su Microsoft Entra ID, usare invece Gestione connessioni di Oledb.
È 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 di SQL Server e sul relativo mapping con i tipi di dati di 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à tramite 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.
New
Consente di creare una connessione dati ADO.NET tramite la finestra di dialogo Gestione connessione .
CANC
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 di Microsoft Entra con l'identità gestita per Azure Data Factory per accedere al database SQL di Azure o all'Istanza gestita di SQL. Azure-SSIS IR può accedere e copiare dati da o nel database usando questa identità gestita.
Nota
Quando si esegue l'autenticazione con un'identità gestita assegnata dall'utente, SSIS Integration Runtime deve essere abilitato con la stessa identità. Per altre informazioni, vedere Abilitare l'autenticazione di Microsoft Entra per Azure-SSIS Integration Runtime.
Per consentire ad Azure Data Factory di accedere al database SQL di Azure usando la relativa identità gestita, seguire questa procedura:
Fornire un amministratore Microsoft Entra per il server logico del database SQL di Azure tramite il portale di Azure, se non è già stato fatto. L'amministratore di Microsoft Entra può essere un utente o un gruppo. Se si assegna un gruppo come amministratore e l'identità gestita di Azure Data Factory è membro di tale gruppo, è possibile ignorare i passaggi 2 e 3. L'amministratore ha accesso completo al server logico.
Creare un utente di database indipendente per rappresentare l'identità gestita assegnata ad Azure Data Factory. Connettersi al database da cui o in cui si vuole copiare i dati usando strumenti come SQL Server Management Studio (SSMS) con un utente Microsoft Entra che disponga almeno dell'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 assegnata dal sistema per Azure Data Factory, il nome dell'identità gestita è il nome relativo ad Azure Data Factory. Se si usa un'identità gestita assegnata dall'utente per Azure Data Factory, il nome dell'identità gestita deve essere il nome dell'identità gestita specificata.
Concedere all'identità gestita per Azure Data Factory le autorizzazioni necessarie, come si fa normalmente per gli utenti SQL. 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 un'identità gestita assegnata ad Azure Data Factory per accedere all'Istanza gestita di SQL di Azure, seguire questa procedura:
Fornire un amministratore Microsoft Entra per l'Istanza gestita di SQL di Azure nel portale di Azure, se non è già stato fatto. L'amministratore di Microsoft Entra può essere un utente o un gruppo. Se si assegna un gruppo come amministratore e l'identità gestita è membro di tale gruppo, è possibile ignorare i passaggi da 2 a 4. L'amministratore ha accesso completo all'istanza gestita.
Creare un account di accesso per l'identità gestita di Azure Data Factory. In SSMS connettersi all'istanza gestita usando un account con autorizzazioni di amministratore di sistema o amministratore di Microsoft Entra.
master
Nel database eseguire l'istruzione T-SQL seguente:CREATE LOGIN [your managed identity name] FROM EXTERNAL PROVIDER;
Se si usa l'identità gestita assegnata dal sistema per Azure Data Factory, il nome dell'identità gestita è il nome relativo ad Azure Data Factory. Se si usa un'identità gestita assegnata dall'utente per Azure Data Factory, il nome dell'identità gestita deve essere il nome dell'identità gestita specificata.
Creare un utente di database indipendente per rappresentare l'identità gestita per Azure Data Factory. Connettersi al database da cui o in cui si vuole copiare i dati tramite SSMS ed eseguire l'istruzione T-SQL seguente:
CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
Concedere all'identità gestita per Azure Data Factory le autorizzazioni necessarie, come si fa normalmente per gli utenti SQL. 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 Microsoft Entra con l'identità gestita di Azure Data Factory nella gestione connessione ADO.NET. Sono disponibili le opzioni seguenti:
Configurare in fase di progettazione. In Progettazione SSIS fare clic con il pulsante destro del mouse sulla gestione connessione ADO.NET e selezionare Proprietà. Aggiornare la proprietà
ConnectUsingManagedIdentity
impostandola suTrue
.Nota
Quando si esegue il pacchetto in Progettazione SSIS o in SQL Server, la proprietà di gestione connessione
ConnectUsingManagedIdentity
non ha effetto, indicando che l'autenticazione di Microsoft Entra con l'identità gestita di Azure Data Factory non funziona.Configurare in fase di esecuzione. Quando si esegue il pacchetto tramite SSMS o l'attività Esegui pacchetto SSIS nella pipeline di Azure Data Factory, individuare la gestione connessione ADO.NET e aggiornarne la proprietà
ConnectUsingManagedIdentity
inTrue
.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 Microsoft Entra con l'identità gestita di Azure Data Factory.
Per configurare l'autenticazione di Microsoft Entra con l'identità gestita di Azure Data Factory nei pacchetti esistenti, il modo migliore è ricostruire 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à ConnectUsingManagedIdentity
di gestione connessione venga aggiunta automaticamente a tutte le gestioni connessione ADO.NET nel progetto. In alternativa, è possibile usare direttamente la sostituzione della proprietà con il percorso della proprietà \Package.Connections[{the name of your connection manager}].Properties[ConnectUsingManagedIdentity] assegnato a True
in fase di esecuzione.