Partilhar via


ADO.NET gerenciador de conexões

Aplica-se a:SQL Server SSIS Integration Runtime em Azure Data Factory

Um gerenciador de conexões ADO.NET permite que um pacote acesse fontes de dados usando um provedor .NET. Normalmente, você usa esse gerenciador de conexões para acessar fontes de dados como o Microsoft SQL Server. Você também pode acessar fontes de dados expostas por meio de OLE DB e XML em tarefas personalizadas que são escritas em código gerenciado, usando uma linguagem como C#.

Quando você adiciona um gerenciador de conexões ADO.NET a um pacote, o SQL Server Integration Services cria um gerenciador de conexões que é resolvido como uma conexão ADO.NET em tempo de execução. Ele define as propriedades do gerenciador de conexões e adiciona o gerenciador de conexões à coleção Connections no pacote.

A ConnectionManagerType propriedade do gerenciador de conexões é definida como ADO.NET. O valor de ConnectionManagerType é qualificado para incluir o nome do fornecedor .NET que o gestor de ligações usa.

Observação

O Microsoft Entra ID era conhecido anteriormente como Azure Ative Directory (Azure AD).

Solução de problemas do gerenciador de conexões ADO.NET

Você pode registrar as chamadas que o gerenciador de conexões ADO.NET faz para provedores de dados externos. Em seguida, você pode solucionar problemas de conexões que o gerenciador de conexões ADO.NET faz com fontes de dados externas. Para registrar as chamadas que o gerenciador de conexões ADO.NET faz para provedores de dados externos, habilite o log de pacotes e selecione o evento Diagnóstico no nível do pacote. Para obter mais informações, consulte Ferramentas de solução de problemas para execução de pacotes.

Ao serem lidos por um gerenciador de conexões ADO.NET, os dados de determinados tipos de dados de data do SQL Server geram os resultados mostrados na tabela a seguir.

Tipo de dados do SQL Server Resultado
hora, datetimeoffset O pacote falha, a menos que use comandos SQL parametrizados. Para usar comandos SQL parametrizados, use a tarefa Executar SQL em seu pacote. Para mais informações, consulte Executar Tarefa SQL e Executar Tarefa SQL.
datetime2 O gerenciador de conexões ADO.NET trunca o valor de milissegundos.

Observação

Para mais informações sobre os tipos de dados do SQL Server e como estes correspondem aos tipos de dados dos Serviços de Integração, consulte Tipos de Dados e Tipos de Dados dos Serviços de Integração.

ADO.NET configuração do gerenciador de conexões

Você pode definir propriedades por meio do Designer SSIS ou programaticamente.

  • Forneça uma cadeia de conexão específica configurada para atender aos requisitos do provedor .NET selecionado.

  • Dependendo do provedor, inclua o nome da fonte de dados à qual se conectar.

  • Forneça credenciais de segurança conforme apropriado para o provedor selecionado.

  • Indique se a conexão criada a partir do gerenciador de conexões é mantida em tempo de execução.

Muitas das opções de configuração do gerenciador de conexões ADO.NET dependem do provedor .NET que o gerenciador de conexões usa.

Para informações sobre a configuração programática de um gestor de conexões, consulte ConnectionManager e Adicionar Ligações Programáticamente.

Configurar ADO.NET gerenciador de conexões

Use a caixa de diálogo Configurar ADO.NET Gerenciador de Conexões para adicionar uma conexão a uma fonte de dados que pode ser acessada usando um provedor de dados do .NET Framework. Por exemplo, um desses provedores é o provedor SqlClient. O gerenciador de conexões pode usar uma conexão existente ou você pode criar uma nova.

Para saber mais sobre o ADO.NET gerenciador de conexões, consulte ADO.NET Connection Manager.

Opções

Opção Descrição
Conexões de dados Selecione uma conexão de dados ADO.NET existente na lista.
Propriedades de conexão de dados Exiba propriedades e valores para a conexão de dados ADO.NET selecionada.
Novo Crie uma conexão de dados ADO.NET usando a caixa de diálogo Gerenciador de Conexões .
Eliminar Selecione uma conexão e exclua-a selecionando Excluir.

Utilizar o Microsoft SqlClient Data Provider

O Microsoft SqlClient Data Provider é suportado no SQL Server 2025 (17.x) e versões posteriores. Para SQL Server 2022 (16.x) e versões anteriores, use o Oledb Connection Manager se precisar de autenticação baseada em ID msi ou Microsoft Entra.

Para conceção de pacotes, use SQL Server Integration Services Projects 2022 ou superior.

Para obter orientação sobre como configurar os modos de autenticação do Microsoft Entra, consulte Conectar-se ao SQL do Azure com a autenticação do Microsoft Entra e o SqlClient.

Identidades gerenciadas para autenticação de recursos do Azure

Ao executar pacotes SSIS em Azure-SSIS tempo de execução de integração (IR) no Azure Data Factory (ADF), você pode usar a autenticação do Microsoft Entra com a identidade gerenciada do ADF para acessar o Banco de Dados SQL do Azure ou a Instância Gerenciada do SQL. Seu Azure-SSIS IR pode acessar e copiar dados de ou para seu banco de dados usando essa identidade gerenciada.

Observação

Quando te autenticas com uma identidade gerida atribuída pelo utilizador, o runtime de integração do SSIS precisa de ser ativado com a mesma identidade. Para obter mais informações, consulte Ativar a autenticação do Microsoft Entra para tempo de execução para integração Azure-SSIS.

Para habilitar seu ADF para acessar o Banco de Dados SQL do Azure usando sua identidade gerenciada, siga estas etapas:

  1. Provisione um administrador do Microsoft Entra para seu servidor lógico no Banco de Dados SQL do Azure por meio do portal do Azure, se ainda não tiver feito isso. O administrador do Microsoft Entra pode ser um usuário ou grupo. Se você atribuir um grupo como administrador e a identidade gerenciada do ADF for membro desse grupo, poderá ignorar as etapas 2 e 3. O administrador tem acesso total ao seu servidor lógico.

  2. Crie um usuário de banco de dados contido para representar a identidade gerenciada atribuída ao seu ADF. Ligue-se à base de dados da qual ou para a qual pretende copiar dados usando o SQL Server Management Studio (SSMS), com um utilizador do Microsoft Entra que tenha pelo menos ALTER ANY USER permissão. Execute a seguinte instrução T-SQL:

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

    Se você usar a identidade gerenciada atribuída pelo sistema para o ADF, o nome da identidade gerenciada será o nome do ADF. Se você usar uma identidade gerenciada atribuída pelo usuário para seu ADF, seu nome de identidade gerenciada será o nome da identidade gerenciada.

  3. Conceda à identidade gerenciada para seu ADF as permissões necessárias, como você normalmente faz para usuários SQL. Consulte Funções ao nível da base de dados para funções apropriadas. Execute a seguinte instrução T-SQL. Para obter mais opções, consulte este artigo.

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

Para usar uma identidade gerenciada atribuída ao seu ADF para acessar a Instância Gerenciada SQL do Azure, siga estas etapas:

  1. Provisionar um administrador do Microsoft Entra para a sua Instância Gerenciada SQL do Azure no portal do Azure, se ainda não tiver feito isso. O administrador do Microsoft Entra pode ser um usuário ou grupo. Se atribuir um grupo a administrador e a sua identidade gerida for membro desse grupo, pode ignorar os passos 2 a 4. O administrador tem acesso total à sua instância gerenciada.

  2. Crie um login para a identidade gerenciada do seu ADF. No SSMS, conecte-se à sua instância gerenciada usando uma conta com permissões sysadmin ou o administrador do Microsoft Entra. No banco de dados, execute a master seguinte instrução T-SQL:

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

    Se você usar a identidade gerenciada atribuída pelo sistema para o ADF, o nome da identidade gerenciada será o nome do ADF. Se você usar uma identidade gerenciada atribuída pelo usuário para seu ADF, seu nome de identidade gerenciada será o nome da identidade gerenciada.

  3. Crie um usuário de banco de dados contido que represente a identidade gerenciada para seu ADF. Conecte-se ao banco de dados do qual deseja copiar dados usando o SSMS e execute a seguinte instrução T-SQL:

    CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
    
  4. Conceda à identidade gerenciada para seu ADF as permissões necessárias, como você normalmente faz para usuários SQL. Execute a seguinte instrução T-SQL. Para obter mais opções, consulte este artigo.

    ALTER ROLE [role name, for example, db_owner] ADD MEMBER [your managed identity name];
    

Finalmente, você pode configurar a autenticação do Microsoft Entra com a identidade gerenciada do seu ADF no gerenciador de conexões ADO.NET. Aqui estão as opções para fazer isso:

  • Configure em tempo de desenvolvimento. No Designer SSIS, clique com o botão direito do mouse no gerenciador de conexões ADO.NET e selecione Propriedades. Atualize a propriedade ConnectUsingManagedIdentity para True.

    Observação

    A propriedade ConnectUsingManagedIdentity do gerenciador de conexões não entra em vigor quando você executa o pacote no Designer SSIS ou no SQL Server, indicando que a autenticação do Microsoft Entra com a identidade gerenciada do ADF não funciona.

  • Configure em tempo de execução. Quando executa o seu pacote via pipeline SSMS ou ADF, encontre o gestor de conexões ADO.NET e atualize a sua propriedade ConnectUsingManagedIdentity para True.

    Observação

    No Azure-SSIS IR, todos os outros métodos de autenticação (por exemplo, segurança integrada e senha) pré-configurados no gerenciador de conexões ADO.NET são substituídos ao usar a autenticação do Microsoft Entra com a identidade gerenciada do ADF.

Para configurar a autenticação do Microsoft Entra com a identidade gerenciada do seu ADF em seus pacotes existentes, a maneira preferida é reconstruir seu projeto SSIS com o SSIS Designer mais recente pelo menos uma vez. Reimplante seu projeto SSIS para ser executado em Azure-SSIS IR, para que a nova propriedade ConnectUsingManagedIdentity do gerenciador de conexões seja adicionada automaticamente a todos os ADO.NET gerenciadores de conexões em seu projeto. Como alternativa, você pode usar diretamente substituições de propriedade com o caminho da propriedade \Package.Connections[{o nome do seu gerenciador de conexões}]. Propriedades[ConnectUsingManagedIdentity] atribuídas em tempo de True execução.