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 chamadoSO_15289442.dtsx
.
-
Crie uma variável chamadaExecutionUser
do tipo de dadosString
. 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 aoSmtpConnection
na página Send Mail Task Editor - Mail.
-
Especifique oFrom
eTo
endereço de e-mail.
-
Altere o MessageSourceType paraVariable
.
-
Defina oMessageSource
paraUser::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.