When I execute the package in Debug mode, it works.
I then import the package into SQL Server 2005 and it is showing under Stored Packages --> MSDB - AS400Package
I can right click and Run Package from there and it works fine.
When I set the package up to run as a job, it fails. What I have noticed is that the Sign On that I use in the package shows that there was in "invalid login" after the job fails.
I hope I have this post in the right place and hope I have left enough information behind to help. If not let know what else I need to post. I have only been using Business Intelligence Development for a couple days and SQL Server 2005 for about a week or so. All of the SQL DTS packages that I have created seem to be working fine with their jobs as well as my stored procedures.
Thanks for any help you can give me.
I have covered how to run your SSIS packages as a Job in the thread below the error means SQL Server Agent does not have the permissions to run the package because when you run it manually it runs in the context of your account when you run it as a Job it runs in the context of the Agent. Hope this helps.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1905695&SiteID=1
|||
Thank you for the response. I did some more research off your link and found some more links that will help those undestand the proxy portion of the post.
Create Credential
https://msdn2.microsoft.com/en-us/library/ms189522.aspx
Add Proxy
https://msdn2.microsoft.com/en-us/library/ms188763.aspx
Grant Login to Proxy
https://msdn2.microsoft.com/en-us/library/ms187338.aspx
Grant Subsystem to Proxy
http://msdn2.microsoft.com/en-us/library/ms186760.aspx
A couple more questions
Code Snippet
CREATE CREDENTIAL AlterEgo WITH IDENTITY = 'RettigB',SECRET = 'sdrlk8$40-dksli87nNN8';
The IDENTITY is supposed to be the account that is executing the Job and Secret is the password for that account?
I will not be able to test this out for a couple days, but there is something I don't understand. How is creating a proxy and logins going to ensure that the password for my AS400 account gets passed to the AS400 system correctly. Judging from the message in Client Access after logging in with the account that the job is sending across the password as either blank or incorrectly.
Thanks for the help and I look forward to trying this out. I hope this works.
|||
The proxy is for SQL Server Agent to use a clone of your account to run the package nothing more anything more is complication where none exist and it works. All the stored procedures are created by Microsoft for you in the links I gave you. The links you found comes with confusions ignore them use the stored procedure from the MSDN links with the instructions in code project is it very simple but it works.
|||Using the Code Project sample with a few minor changes
Code Snippet
USE master;
CREATE CREDENTIAL Vicksburg400 WITH IDENTITY = 'myDomain\myAccount', secret = 'WindowsLoginPassword';
USE msdb;
EXEC dbo.sp_add_proxy @.proxy_name = 'VBurg400', @.credential_name = 'Vicksburg400' ;
EXEC dbo.sp_grant_login_to_proxy @.login_name = N'djvmsql', @.proxy_name = N'VBurg400';
EXEC dbo.sp_grant_proxy_to_subsystem @.proxy_name = 'VBurg400', @.subsystem_name = N'SSIS package execution';
I get the following the message.
'djvmsql' is a member of sysadmin server role and cannot be granted to or revoked from the proxy. Members of sysadmin server role are allowed to use any proxy.
I then tried to remove the sysadmin role from the account and run just the "sp_grant_login_to_proxy" again but it gave the message "Permission to proxy already granted". Meanwhile, the job is still failing. I am absolutely done for tonight. Thanks for the help so far. I appreciate your time.
|||My mistake a few things have changed check to verify the proxy account runs then you need to enable xp_cmdshell with the surface area configuration tool, Microsoft finally documented it but also disabled it by default. Another thing is make sure the Agent is running with the correct account not the local systems account in configuration manager. Running DTS/SSIS packages to move data from AS400 with the Agent and xp_cmdshell have worked for more than 8 years, if yours is not running troubleshoot your environment. I would not add the credential, new complications Microsoft added to a very simple task and remember not to define password for your package it add complication this process needs to be very simple. I know it works because this process works in high security companies like banks and Pharmaceutical manufacture, the key is the Agent needs Admin level permissions which you create with the proxy.
http://msdn2.microsoft.com/en-us/library/ms187901.aspx
http://msdn2.microsoft.com/en-us/library/ms139805.aspx
|||
Caddre wrote:
check to verify the proxy account runs
Done
Caddre wrote:
then you need to enable xp_cmdshell with the surface area configuration tool,
Done
Caddre wrote:
Another thing is make sure the Agent is running with the correct account not the local systems account in configuration manager.
Agent is running with our domain administrator account.
Caddre wrote:
I would not add the credential, new complications Microsoft added to a very simple task
It would not allow me to create the proxy without adding a Credential to it.
Caddre wrote:
and remember not to define password for your package it add complication this process needs to be very simple. I know it works because this process works in high security companies like banks and Pharmaceutical manufacture, the key is the Agent needs Admin level permissions which you create with the proxy.
If you are referring to the dtsx package I am not sure how I can execute the package without specifying a password in the connection manager. The Connection Manager Type in the properties reads "ADO.NET: System.Data.OleDb.OleDbConnection, System.Data, Version=2.0.0.0, Culture=neutral,"
I have changed some items from other post to coincide with what you posted. One example is adding diamondjacksvm\Administrator to the proxy and etc... Here is the log from the failed job.
Date,Source,Severity,Step ID,Server,Job Name,Step Name,Notifications,Message,Duration,Sql Severity,Sql Message ID,Operator Emailed,Operator Net sent,Operator Paged,Retries Attempted
08/05/2007 18:51:00,ImpotHISLogon,Error,0,DJVMWEB01,ImpotHISLogon,(Job outcome),,The job failed. The Job was invoked by Schedule 3 (Every Hour). The last step to run was step 1 (Execute ImportHIS.dtsx).,00:00:01,0,0,,,,0
08/05/2007 18:51:00,ImpotHISLogon,Error,1,DJVMWEB01,ImpotHISLogon,Execute ImportHIS.dtsx,,Executed as user: diamondjacksvm\Administrator. The package execution failed. The step failed.,00:00:01,0,0,,,,0
One thing I still don't understand is how come I am getting Failed Login messages when I login into the AS400 with the account being used to import the data in the package. I run the job 3 times (3 fails) it locks out my AS400 account.
Thanks for your continued patience and help on this issue. If it will help, I am more than willing to send screen shots.
|||Hi,
Sorry I took so long the first two links below deals with other issues like driver version and permissions because you said the connection to AS400 is closing that is not good. Please check out the DB2 driver link in the article see if you need it.
The last link comes with creating a configuration file if you don't have one because I read in another forum configuration file fixes the problem with IBM Iseries. Hope this helps.
http://msdn2.microsoft.com/en-us/library/bb332055.aspx
http://support.microsoft.com/kb/918760/
http://technet.microsoft.com/en-us/library/ms141747.aspx
|||
Just to clarify, it was the 2nd link that helped me out. What I ended up doing was logging on as administrator to the local server and building the package. I have my personal login already setup as a SQL Server login with rights to run Jobs but it was still failing. I did not change the way the package itself was built. The only difference I can see between the way I was running it before and now is that the 2nd package was built with Administrator. Let me see if I can clarify.
1rst Package - Job Failed
SQL Server Agent running as <domainname>\Administrator
Package Built with <domainname>\mmanuel
Proxy AS400 has both logins above setup as principals
Job run as AS400 Proxy
2nd Package - Job Succeeded
SQL Server Agent running as <domainname>\Administrator
Package Built with <domainname>\Administrator
Proxy AS400 has both logins above setup as principals
Job run as AS400 Proxy
Caddre - Thank you so much for your help, assistance, knowledge and patience. I very much appreciate it and look forward to reading more post from you.
|||I am glad I could help and thanks for posting the final solution it will help others.
No comments:
Post a Comment