Artigo: 918760 - Última revisão: quarta-feira, 30 de Setembro de 2009 - Revisão: 2.0 Um pacote SSIS não funciona quando chamar o pacote SSIS a partir de um passo de tarefa do agente do SQL Server
Nesta páginaSintomasQuando chama um pacote do Microsoft SQL Server 2005 Integration Services (SSIS) a partir de um passo de tarefa do agente do SQL Server, o pacote SSIS não funciona. No entanto, se não modificar o pacote SSIS, será executado com êxito fora agente do SQL Server. CausaEste problema ocorre quando uma das seguintes condições for verdadeira:
ResoluçãoPara resolver este problema, utilize um dos seguintes métodos. O método mais adequado depende do ambiente e o motivo pelo qual o pacote falhou. Método 1: Utilizar uma conta de proxy do agente do SQL ServerCrie uma conta de proxy do agente do SQL Server. Esta conta de proxy tem de utilizar uma credencial que lhe permite executar a tarefa como a conta que criou o pacote ou como uma conta que tenha as permissões necessárias do SQL Server Agent.Este método funciona para desencriptar os segredos e satisfaz os requisitos de chaves por utilizador. No entanto, este método pode ter limitado com êxito uma vez que as chaves de utilizador do pacote SSIS envolvem o utilizador actual e o computador actual. Por conseguinte, se mover o pacote para outro computador, este método poderá ainda falhar, mesmo se o passo de trabalho utiliza a conta de proxy correctas. Método 2: Definir a propriedade SSIS pacote ProtectionLevel para ServerStorageAltere a propriedade pacote SSIS ProtectionLevel para ServerStorage. Esta definição armazena o pacote numa base de dados do SQL Server e permite o controlo de acesso através de funções de base de dados do SQL Server.Método 3: Definir a propriedade SSIS pacote ProtectionLevel para EncryptSensitiveWithPasswordAltere a propriedade pacote SSIS ProtectionLevel para EncryptSensitiveWithPassword. Esta definição utiliza uma palavra-passe para a encriptação. Em seguida, é possível modificar linha de comandos SQL Server Agent tarefa passo para incluir esta palavra-passe.Método 4: Utilizar SSIS pacote configuração ficheirosUtilize ficheiros de configuração do pacote SSIS para armazenar informações confidenciais e, em seguida, armazenar estes ficheiros de configuração numa pasta protegida. Em seguida, é possível alterar a propriedade ProtectionLevel para DontSaveSensitive para que o pacote não está encriptado e não tenta guardar segredos para o pacote. Quando executar o pacote SSIS, as informações necessárias são carregadas no ficheiro de configuração. Certifique-se que os ficheiros de configuração estão adequadamente protegidos se contiverem informações sensíveis.Método 5: Criar um modelo de pacotePara uma resolução a longo prazo, crie um modelo pacote que utiliza um nível de protecção diferente da predefinição. Este problema não ocorrerá no futuro pacotes.Ponto Da SituaçãoEste comportamento ocorre por predefinição. Mais InformaçãoPassos para reproduzir o problema
Executar como utilizador: DOMÍNIO\nomedeutilizador. Falhou a execução do pacote. O passo falhou. Desencriptar segredos do pacoteA definição predefinida para o pacote SSIS ProtectionLevel propriedade é EncryptSensitiveWithUserKey. Quando o pacote é guardado, SSIS encripta apenas as partes do pacote que contêm propriedades que são marcadas "importantes," tais como cadeias de ligação, palavras-passe e nomes de utilizador. Por conseguinte, quando o pacote é carregado, o utilizador actual tem de satisfazer os requisitos de encriptação para as propriedades sensíveis para ser desencriptado. No entanto, o utilizador actual não é necessário que satisfazer os requisitos de encriptação para carregar o pacote. Quando executa o pacote através de um passo de tarefa do agente do SQL Server, a conta predefinida é a conta serviço de agente do SQL Server. Esta conta predefinida provavelmente é um utilizador diferente do que o autor do pacote. Por conseguinte, o passo de tarefa do agente do SQL Server pode carregar e comece a executar o passo de tarefa, mas o pacote falha porque não é possível efectuar uma ligação. Por exemplo, o pacote não é possível concluir uma ligação de OLE DB ou uma ligação de FTP. O pacote falha porque não é possível desencriptar as credenciais que tem de ter para estabelecer ligação.importante Tenha em consideração o processo de desenvolvimento e o ambiente para determinar quais as contas que são necessários e utilizadas em cada computador. A definição EncryptSensitiveWithUserKey da propriedade ProtectionLevel é uma definição poderosa. Esta definição não deve ser descontada porque faz com que implementação complicações primeiro. É possível encriptar os pacotes quando inicia sessão conta apropriada. Pode também utilizar o utilitário da linha de comandos dtutil.exe SSIS para alterar os níveis de protecção, utilizando um ficheiro .cmd e o subsistema de comandos de SQL Server Agent. Por exemplo, siga estes passos. Uma vez que pode utilizar o utilitário dtutil.exe em ficheiros batch e ciclos, pode seguir estes passos para vários pacotes ao mesmo tempo.
Certifique-se que pode ter erro informações detalhadas sobre a falha de pacote SSISEm vez de depender detalhes limitados o histórico de tarefa do SQL Server Agent, pode utilizar o registo para garantir que tem informações de erro sobre a falha de pacote SSIS SSIS. Também pode executar o pacote utilizando o comando de subsistema exec em vez do comando de subsistema SSIS.Sobre o registo SSISFornecedores de registo e registo SSIS permitem-lhe capturar detalhes sobre a execução do pacote e falhas. Por predefinição, o pacote não regista informações. Tem de configurar o pacote para registar informações. Quando configura o pacote para registar informações, poderá ver informações detalhadas que é semelhante ao seguinte. Neste caso, saberá que é um problema de permissões:AoOcorrerErro, nome_domínio, DOMAINNAME\USERNAME, FTP Task,{C73DE41C-D0A6-450A-BB94-DF6D913797A1},{2F0AF5AF-2FFD-4928-88EE-1B58EB431D74},4/28/2006 1:51:59 PM, 28/4/2006 1:51:59 PM,-1073573489, 0 x, não é possível ligar ao servidor FTP através do "Gestor de ligações de FTP". AoOcorrerErro, nome_domínio, DOMAINNAME\USERNAME, executar SQL Task,{C6C7286D-57D4-4490-B12D-AC9867AE5762},{F5761A49-F2F9-4575-9E2B-B3D381D6E1F3},4/28/2006 4: 07: 00 PM, 28/4/2006 4: 07: 00 PM,-1073573396, 0 x, não foi possível adquirir ligação "user01.msdb". Ligação poderá não estar configurada correctamente ou pode não ter as permissões correctas nesta ligação. Sobre o comando de subsistema exec e informações de saídaAo utilizar a abordagem de comandos do subsistema exec, adicionar verbosa consola sessão parâmetros de linha de comandos SSIS para chamar o ficheiro executável da linha de comandos Dtexec.exe SSIS. Além disso, utilizar a funcionalidade avançada de tarefa do ficheiro de saída. Também pode utilizar a opção de Incluir saída de passo no histórico de redireccionar as informações de registo para um ficheiro ou para o histórico de tarefa do SQL Server Agent.Segue-se um exemplo de uma linha de comandos: dtexec.exe /FILE "C:\_work\SSISPackages\ProtectionLevelTest\ProtectionLevelTest\AgentTesting.dtsx" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V /CONSOLELOG NCOSGXMT O registo /console devolve detalhes semelhantes à seguinte: Error: 2006-04-27 18:13:34.76 Code: 0xC0202009 Source: AgentTesting Connection manager "(local).msdb" Description: An OLE DB error has occurred. Error code: 0x80040E4D. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80040E4D Description: "Login failed for user 'DOMAINNAME\username'.". End Error Error: 2006-04-28 13:51:59.19 Code: 0xC0016016 Source: Description: Failed to decrypt protected XML node "DTS:Property" with error 0x80070002 "The system cannot find the file specified.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available. End Error Log:
Name: OnError
Computer: COMPUTERNAME
Operator: DOMAINNAME\username
Source Name: Execute SQL Task
Source GUID: {C6C7286D-57D4-4490-B12D-AC9867AE5762}
Execution GUID: {7AFE3D9E-5F73-42F0-86FE-5EFE264119C8}
Message: Failed to acquire connection "(local).msdb". Connection may not be configured correctly or you may not have the right permissions on this connection.
Start Time: 2006-04-27 18:13:34
End Time: 2006-04-27 18:13:34
End Log
ReferênciasPara obter mais informações sobre um problema semelhante, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 904800
(http://support.microsoft.com/kb/904800/
)
Recebe uma mensagem de erro "Erro ao carregar" quando tenta executar um pacote de SQL Server 2005 Integration Services no SQL Server 2005 Para obter mais informações sobre como utilizar o utilitário dtutil.exe em operações batch, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 906562
(http://support.microsoft.com/kb/906562/
)
Como utilizar o utilitário dtutil (dtutil.exe) para definir o nível de protecção de um lote de pacotes SQL Server Integration Services (SSIS) no SQL Server 2005 Para obter mais informações sobre como criar modelos de pacote, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 908018
(http://support.microsoft.com/kb/908018/
)
Como criar um modelo de pacote no SQL Server Business Intelligence Development Studio Para mais informações sobre segurança de pacote SSIS e a propriedade ProtectionLevel , consulte o tópico "Security considerações para Integration Services" no SQL Server 2005 Books Online. Infelizmente, os utilizadores não têm conhecimento que o agente de tarefa passo predefinições colocá-los neste estado. Para mais informações sobre o SQL Server Agent proxies e SSIS, consulte os seguintes tópicos no SQL Server 2005 Books Online:
A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 918760
(http://support.microsoft.com/kb/918760/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo