Como agendar pacote SSIS para executar como algo diferente de SQL Conta de serviço do agente

StackOverflow https://stackoverflow.com/questions/812428

Pergunta

No SQL Server 2005, é possível agendar um pacote SSIS para executar algo diferente do que a conta de serviço SQL Agent?

Eu tenho um pacote SSIS que faz uma conexão com um banco de dados e executa um procedimento armazenado. Meus critérios é que não vou especificar nomes de usuário / senhas em uma configuração de pacote ou pacote, então eu quero usar a autenticação integrada.

O problema é que, por padrão uma etapa em um trabalho é executado como conta de serviço do SQL Agent, e nosso grupo de servidores não quer conceder essa conta executar os direitos sobre os procedimentos armazenados que meu pacote será executado. Então, estamos tentando encontrar uma maneira de especificar uma conta diferente na etapa, assim que o pacote será executado sob um contexto diferente. Isso é possível?

Foi útil?

Solução

Se você quiser executar o pacote SSIS a partir de trabalhos do SQL Agent, então você pode criar um proxy. Verifique aqui para mais informações.

Outras dicas

Se você tem acesso a SQL Server Agent através do SQL Server Management Studio, aqui estão os passos para criar um trabalho usando o Graphical User Interface. Os passos mostram como criar um trabalho SQL para executar SSIS usando conta de serviço SQL Agent e também como criar um proxy para ser executado sob uma diferente usando credenciais diferentes.

  1. Vá para o SQL Server Management Studio. Expandir SQL Server Agent e clique com o botão direito sobre Jobs, em seguida, selecione New Job... como mostrado na imagem # 1 .

  2. Forneça um nome e proprietário por padrão será a conta que cria o trabalho, mas você pode mudá-lo de acordo com suas necessidades. Atribuir uma categoria se você gostaria de e também fornecer uma descrição. Consulte Tela nº 2 .

  3. Na seção Passos, clique New... como mostrado na imagem # 3 .

  4. Na caixa de diálogo Passo New Job, fornecer um nome Step. Selecione SQL Server Inegration Services Package de Tipo. Esta etapa será executado sob SQL Agent Service Account por padrão. Selecione a fonte de pacote como File system e procure o caminho do pacote clicando em reticências. Isto irá preencher o caminho do pacote. Consulte Tela nº 4 . Se você não quiser que a etapa para executar sob o SQL Agent Service Account , em seguida, submeter a passos # 8 - 9 para saber como você pode usar um conta diferente.

  5. Se você tem um arquivo de configuração SSIS (.dtsConfig) para o pacote, clique no Configurações guia e adicionar o arquivo de configuração, como mostrado na imagem # 5 .

  6. Clique em OK e há o pacote no passo 1 como mostrado na imagem # 6 . Da mesma forma, você pode criar diferentes etapas.

  7. Uma vez que o trabalho foi criado, você pode clicar com o botão direito no trabalho e selecione Script Job as --> CREATE To --> New Query Editor Window para gerar o script, como mostrado na imagem # 7 .

  8. Para executar o passo SSIS sob conta diferente, no Management Studio, navegue para Security --> right-click on Cedentials --> select New Credential... como mostrado na imagem # 8 .

  9. Na caixa de diálogo New Credential, forneça um nome de credenciais, a conta do Windows e senha sob o qual você gostaria de executar SSIS passos em trabalhos SQL. Consulte Tela nº 9 . Credencial será criado como mostrado na imagem # 10 .

  10. Em seguida, precisamos criar um proxy. No Management Studio, navegue para SQL Server Agent --> Proxies --> right-click on SSIS Package Execution --> select New Proxy... como mostrado na imagem # 11 .

  11. Na janela de Nova Conta de Proxy, fornecer um nome de Proxy, selecione a Credencial recém-criado, fornecer uma descrição e selecione SQL Server Integration Services pacote, como mostrado na imagem # 12 . conta proxy deve ser criado como mostrado na imagem # 13 .

  12. Agora, se você voltar para a etapa no trabalho do SQL, você deve ver a conta proxy recém-criado na Executar como suspensa. Consulte Tela nº 14 .

Espero que ajude.

Imagens # 1:

1

Tela nº 2:

2

Tela nº 3:

3

Imagens # 4:

4

Tela nº 5:

5

Tela nº 6:

6

Imagens # 7:

7

Tela nº 8:

8

Imagens # 9:

9

Tela nº 10:

10

Tela nº 11:

11

Tela nº 12:

12

Tela nº 13:

13

Tela nº 14:

14

Com o SQL 2012 Eu tenho um erro que a conta de usuário escolhido não é permitido ser um proxy. Usando a seguinte consulta resolvido esse problema:

use msdb
GO
exec sp_grant_login_to_proxy @login_name = 'MyLoginName', @proxy_name= 'proxy_SSIS'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top