Gerenciador de conexões ADO.NET

Aplica-se a: SQL Server (todas as versões com suporte) SSIS Integration Runtime no 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 Microsoft SQL Server. Você também pode acessar fontes de dados expostas por meio de OLE DB e XML em tarefas personalizadas escritas em código gerenciado usando uma linguagem, como C#.

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

A propriedade ConnectionManagerType do gerenciador de conexões é definida como ADO.NET. O valor de ConnectionManagerType está qualificado para incluir o nome do provedor .NET usado pelo gerenciador de conexões.

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 a provedores de dados externos. É possível solucionar problemas de conexões que o gerenciador de conexões ADO.NET cria para fontes de dados externas. Para registrar as chamadas que o gerenciador de conexões ADO.NET faz aos provedores de dados externos, habilite o registro do pacote e selecione o evento Diagnóstico no nível de pacote. Para obter mais informações, consulte Solucionando problemas de ferramentas para execução de pacotes.

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

Tipo de dados do SQL Server Result
time, datetimeoffset O pacote apresentará erros, a menos que use comandos com parâmetros SQL. Para utilizar comandos SQL parametrizados, use a tarefa Executar SQL em seu pacote. Para obter mais informações, consulte Tarefa Executar SQL e Parâmetros e códigos de retorno na Tarefa Executar SQL.
datetime2 O gerenciador de conexões ADO.NET trunca o valor de milissegundo.

Observação

Para obter mais informações sobre tipos de dados SQL Server e como eles são associados a tipos de dados, confira Tipos de dados (Transact-SQL) e Tipos de dados do Integration Services.

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

Você pode definir propriedades pelo Designer do SSIS ou de maneira programática.

  • 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 efetuar a conexão.

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

  • Indique se a conexão criada a partir do gerenciador de conexões será retida em runtime.

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 obter mais informações sobre as propriedades que podem ser definidas no Designer do SSIS, confira Configurar gerenciador de conexões ADO.NET.

Para obter informações sobre como configurar um gerenciador de conexões programaticamente, consulte ConnectionManager e Adicionando conexões programaticamente.

Configurar Gerenciador de Conexões ADO.NET

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

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

Opções

Conexões de dados
Selecione uma conexão de dados ADO.NET existente na lista.

Propriedades de conexão de dados
Exiba as propriedades e os valores da conexão de dados ADO.NET selecionada.

Novo
Crie uma conexão de dados ADO.NET utilizando a caixa de diálogo do Gerenciador de Conexões .

Delete (excluir)
Selecione uma conexão e selecione Excluir para excluí-la.

Identidades gerenciadas para autenticação de recursos do Azure

Ao executar pacotes do SSIS no IR (runtime de integração) do Azure-SSIS no ADF (Azure Data Factory), você pode usar a autenticação do ADD (Azure Active Directory) com a identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF para acessar o servidor do Banco de Dados SQL do Microsoft Azure/Instância Gerenciada. Seu Azure-SSIS IR pode acessar e copiar dados e copiá-los de e para o banco de dados usando essa identidade gerenciada.

Observação

Ao usar a autenticação do AAD para acessar o servidor do Banco de Dados SQL do Azure/Instância Gerenciada, você pode enfrentar um problema relacionado à falha na execução do pacote ou a uma alteração inesperada de comportamento. Para saber mais, confira Recursos e limitações do AAD.

Para usar a autenticação do AAD com a identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF a fim de acessar o servidor do Banco de Dados SQL do Azure, siga estas etapas:

  1. Provisione um administrador do AAD para seu servidor do Banco de Dados SQL do Azure no portal do Azure, caso ainda não tenha feito isso. O administrador do AAD pode ser um usuário ou grupo do AAD. Se você conceder ao grupo a identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF uma função de administrador, pule a etapa 2 – 3. O administrador terá acesso completo ao seu servidor do Banco de Dados SQL do Azure.

  2. Crie um usuário de banco de dados independente para representar a identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF. Conecte-se ao banco de dados do qual ou para o qual deseja copiar dados usando o SSMS (SQL Server Management Studio) com uma identidade do AAD que tenha, pelo menos, a permissão ALTER ANY USER. Execute a seguinte instrução T-SQL:

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

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

  3. Conceda à identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF as permissões necessárias, como você normalmente faz para os usuários SQL. Saiba mais sobre as funções adequadas em Funções do nível de banco de dados. Execute a seguinte instrução T-SQL. Para mais opções, confira este artigo.

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

Para usar a autenticação do AAD com a identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF a fim de acessar a Instância Gerenciada de SQL do Azure, siga estas etapas:

  1. Provisione um administrador do AAD para sua Instância Gerenciada de SQL do Azure no portal do Azure, caso ainda não tenha feito isso. O administrador do AAD pode ser um usuário ou grupo do AAD. Se você conceder ao grupo a identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF uma função de administrador, pule a etapa 2 – 4. O administrador terá acesso completo à sua Instância Gerenciada de SQL do Azure.

  2. Crie um logon atribuído à identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF. No SSMS, conecte-se à sua Instância Gerenciada de SQL do Azure usando a conta do SQL Server que seja um sysadmin. No banco de dados mestre, execute a seguinte instrução T-SQL:

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

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

  3. Crie um usuário de banco de dados independente para representar a identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF. Conecte-se ao banco de dados do qual ou para o qual você 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 atribuída pelo usuário/sistema especificada para o ADF as permissões necessárias, como você normalmente faz para os usuários SQL. Execute a seguinte instrução T-SQL. Para mais opções, confira este artigo.

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

Por fim, você pode configurar a autenticação do AAD com a identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF no gerenciador de conexões ADO.NET. Veja a seguir as opções para fazer isso:

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

    Observação

    Atualmente, a propriedade do gerenciador de conexões ConnectUsingManagedIdentity não tem efeito (indicando que a autenticação do AAD com a identidade gerenciada atribuída pelo usuário/sistema especificada para o ADF não funciona) quando você executa o pacote no Designer do SSIS ou no SQL Server.

  • Configurar em tempo de execução. Ao executar o pacote por meio do SSMS ou Executar a atividade de Pacote do SSIS no pipeline do ADF, localize o gerenciador de conexões do ADO.NET e atualize sua propriedade ConnectUsingManagedIdentity para True.

    Observação

    No Azure-SSIS IR, todos os outros métodos de autenticação (por exemplo, segurança e senha integradas) pré-configurados em seu gerenciador de conexões ADO.NET são substituídos ao usar a autenticação do AAD com a identidade gerenciada atribuída pelo sistema/usuário especificada para o ADF.

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

Confira também