Gerenciador de conexões do OLEDB

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

Um gerenciador de conexões OLEDB permite que um pacote se conecte a uma fonte de dados ao usar um provedor OLEDB. Por exemplo, um gerenciador de conexões OLEDB que se conecta ao SQL Server pode usar o provedor OLEDB da Microsoft para SQL Server.

Observação

O provedor de OLEDB do SQL Server Native Client 11.0 não dá suporte às novas palavras-chave de cadeia de conexão (MultiSubnetFailover=True) para clustering de failover de várias sub-redes. Para saber mais, confira as Notas sobre a versão do SQL Server 2016.

Observação

Se a fonte de dados for Microsoft Office Excel 2007 ou Microsoft Office Access 2007, ela exigirá um provedor de dados diferente das versões anteriores do Excel ou do Access. Para obter mais informações, consulte Conectar-se a uma pasta de trabalho do Excel e Conectar-se a um banco de dados do Access.

Várias tarefas e componentes de fluxo de dados do SQL ServerIntegration Services usam um gerenciador de conexões OLEDB. Por exemplo, a origem e o destino do OLEDB usam esse gerenciador de conexões para extrair e carregar dados. A tarefa Executar SQL pode usar um gerenciador de conexões de modo a conectar-se a um banco de dados SQL Server para executar consultas.

Você também pode usar o gerenciador de conexões OLEDB para acessar fontes de dados OLEDB em tarefas personalizadas gravadas em código não gerenciado que usa uma linguagem como C++.

Ao adicionar um gerenciador de conexões OLE DB a um pacote, o Integration Services cria um gerenciador de conexões que disponibiliza uma conexão do OLE DB em runtime, define as propriedades do gerenciador de conexões e adiciona o gerenciador de conexões à coleção Conexões no pacote.

A propriedade ConnectionManagerType do gerenciador de conexões é definida como OLEDB.

Configure o gerenciador de conexões OLEDB de uma das seguintes formas:

  • Forneça uma cadeia de conexão específica configurada para atender aos requisitos do provedor 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.

Chamadas de log e solução de problemas de conexões

Você pode registrar as chamadas que o gerenciador de conexões OLEDB faz para provedores de dados externos. É possível solucionar problemas de conexões que o gerenciador de conexões OLEDB cria para fontes de dados externas. Para registrar as chamadas que o gerenciador de conexões OLEDB faz aos provedores de dados externos, habilite o registro em log do pacote e selecione o evento de Diagnóstico no nível do pacote. Para obter mais informações, consulte Solucionando problemas de ferramentas para execução de pacotes.

Configurar o gerenciador de conexões OLEDB

Você pode definir propriedades pelo Designer do SSIS ou de maneira programática. Para obter mais informações sobre as propriedades que podem ser definidas no Designer do SSIS, veja Configurar o Gerenciador de Conexões OLEDB. Para obter mais informações sobre como configurar um gerenciador de conexões programaticamente, consulte a documentação da classe T:Microsoft.SqlServer.Dts.Runtime.ConnectionManager no Guia do Desenvolvedor.

Configurar o gerenciador de conexões OLEDB

Use a caixa de diálogo Configurar o Gerenciador de Conexões OLEDB para adicionar uma conexão a uma fonte de dados. Essa conexão pode ser nova ou uma cópia de uma conexão existente.

Observação

Se a fonte de dados for Microsoft Office Excel 2007, ela exigirá um gerenciador de conexões diferente de versões anteriores do Excel. Para obter mais informações, consulte Conectar-se a uma pasta de trabalho do Excel.

Se a fonte de dados for o Microsoft Office Access 2007, a fonte de dados exigirá um provedor OLEDB diferente das versões anteriores do Access. Para obter mais informações, consulte Conectar-se a um banco de dados do Access.

Para saber mais sobre o gerenciador de conexões OLEDB, confira Gerenciador de Conexões OLEDB.

Opções

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

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

Novo
Crie uma conexão de dados OLEDB usando a caixa de diálogo Gerenciador de Conexões.

Delete (excluir)
Escolha uma conexão de dados 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];
    

Você pode configurar o provedor OLEDB no seu gerenciador de conexões OLEDB. Veja a seguir as opções para fazer isso:

  • Configurar em tempo de design. No Designer do SSIS, clique duas vezes em seu gerenciador de conexões OLEDB para abrir a janela do Gerenciador de Conexões. Na lista suspensa Provedor, selecione o Microsoft OLEDB Driver para SQL Server.

    Observação

    Outros provedores na lista suspensa podem não dar suporte à autenticação do AAD com a identidade gerenciada atribuída pelo sistema/usuário especificada para o ADF.

  • 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 a propriedade do gerenciador de conexões ConnectionString para o gerenciador de conexões OLEDB. Atualize a propriedade de conexão Provider para MSOLEDBSQL (que é o Microsoft OLEDB Driver para SQL Server).

    Data Source=serverName;Initial Catalog=databaseName;Provider=MSOLEDBSQL;...
    

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 OLEDB. 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 OLEDB 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 SSIS no pipeline do ADF, localize o gerenciador de conexões OLEDB 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 OLEDB 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 executar no Azure-SSIS IR, para que a nova propriedade do gerenciador de conexões ConnectUsingManagedIdentity seja automaticamente adicionada a todos os gerenciador de conexões do OLEDB 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