Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Quais credenciais de usuário o Integration Services Catalog usa para executar pacotes?

Execuções de pacotes:

Ferramentas de dados do SQL Server:


Credenciais de usuário sob as quais SQL Server Data Tools (SSDT) está operando será usado para executar os pacotes que são executados dentro do SSDT.

Em Iniciar do Windows \ Todos os Programas \ Microsoft SQL Server 2012, se você clicar em SQL Server Data Tools, ele será executado com suas credenciais. Para executar em uma conta de usuário diferente, você pode pressionar Ctrl + Mudar para selecionar Run as different user opção.


Serviços de Catálogo de Integração:


Quando você clica com o botão direito do mouse em um pacote em Integration Services Catalog \ SSISDB \ <Folder name> \ Projects \ <Project name> \ Packages \ <Package name> e selecione Execute... para executar um pacote. O pacote será executado com as credenciais usadas para se conectar ao SQL Server Management Studio.

Observe que, se você tentar executar um pacote usando a autenticação do SQL Server, receberá a mensagem de erro abaixo:



Depois de pressionar Execute... , SQL Server gira um processo ISServerExec.exe , que inicia um Console Window Host processo:



ISServerExec.exe é um programa que executa pacotes no Catálogo SSIS. Nesse caso, ele é iniciado com o mesmo usuário que executa um pacote SSIS do SQL Server Management Studio.

Trabalho do SQL Server Agent sem proxy:


Quando você executa um pacote SSIS de dentro de um trabalho do SQL Server Agent , a etapa de trabalho por padrão é executada em SQL Server Agent Service Account . A conta de usuário associada ao SQL Server Agent Service pode ser encontrada navegando até Windows Start \ Administrative Tools \ Services , procure o serviço SQL Server Agent (Your Instance Name ) e encontre a conta de usuário listada em Log On As

Trabalho do SQL Server Agent com proxy:


Você também pode executar um trabalho do SQL Server Agent com credenciais diferentes criando uma conta de proxy. Quando as etapas do trabalho são executadas na conta proxy, o pacote na etapa do trabalho será executado na credencial especificada na conta proxy.

A resposta abaixo do SO fornece instruções passo a passo para criar uma conta de proxy para executar trabalhos do SQL Server Agent.

Como crio uma etapa em meu trabalho do SQL Server Agent que executará meu pacote SSIS?

Como verificar:

Amostra de pacote SSIS 2012:


Aqui está o que eu fiz para verificar as declarações acima em relação às contas de usuário usadas para execuções de pacotes.

  • Abra o SQL Server Data Tools e crie um pacote SSIS 2012 chamado SO_15289442.dtsx .

  • Crie uma variável chamada ExecutionUser do tipo de dados String . Atribua a expressão @[System::UserName] para a variável. UserName é uma variável de sistema que fornece as informações do usuário que está executando o pacote.

  • Arraste e solte Enviar tarefa de e-mail no Fluxo de dados aba.

  • Crie uma conexão SMTP e atribua-a ao SmtpConnection na página Send Mail Task Editor - Mail.

  • Especifique o From e To endereço de e-mail.

  • Altere o MessageSourceType para Variable .

  • Defina o MessageSource para User::ExecutionUser .

  • Clique com o botão direito do mouse no pacote e selecione Implantar para implantar o projeto no Catálogo do Integration Services disponível em um servidor de sua escolha.

Execuções de pacotes


  • Execute o pacote dentro do SSDT.

  • Abra o SSDT usando a opção Executar como usuário diferente. Forneça uma credencial diferente da sua e execute o pacote novamente.

  • Execute o pacote do Catálogo do Integration Services.

  • Crie um trabalho do SQL Server Agent para executar o pacote usando a conta de serviço do SQL Server Agent.

  • Crie um trabalho do SQL Server Agent para executar o pacote usando uma conta proxy.

Para cada execução mencionada acima, você receberá um e-mail com a conta de usuário que foi usada para executar o pacote.

Seu problema:


No seu caso, o pacote será executado em sua conta (assumindo que você está usando suas credenciais para acessar o SSISDB ) se você clicar com o botão direito do mouse e selecionar Executar no Catálogo do Integration Services. Certifique-se de que a conta tenha acesso ao caminho de rede.

Se você estiver executando seu pacote de dentro do SQL Server Agent Job, a conta proxy será run as another user opção que você está olhando.