I'm having an issue in SQL Server 2005 with jobs that execute SSIS packages. The jobs run fine for a week or so, then I'll come to find that four or five (of the ten or so jobs) are hung in "executing" status. They seem to hang indefinitely (as some have been "executing" for hours with no end. The schedules of the hung jobs are all different, varying from every 10 minutes to nightly. The packages perform completely diffent tasks, as well. I can't seem to find any common thread with the jobs that get hung, other than they are all executing SSIS packages.
I've tried manually stopping the jobs and restarting the agent and SQL Server but the jobs hang again on there next scheduled run. The only thing that fixes the issue is rebooting the box, and then the jobs hang again in a week or so. Could some sort of memory leak be consuming resources throughout the week and be causing the jobs to eventually hang? I just rebooted the box and the sqlagent90.exe process is currently using about 7mb of memory. I'll keep an eye on it. Any other suggestions?
I've thought of creating another job that stops jobs that are hung, but what's to say that this job won't get hung as well? Plus this seems like a band-aid fix...
I don't recall having these problems until installing SQL Server 2005 SP2. Could this be related? I've searched like crazy and still can't find a resolution to this. It's becoming a big PITA...
Anyway, any suggestions would be very much appreciated!
Folks, I have a SSIS package that works fine 90 % of the time. Every once in a while it gets hung and when I notice that the package has been running for several hours I check the job activity monitor and notice that the package is in executing state for several hours..my question is ...Is there a way I can check for this incidence through a c# app ? Does the package name show up in the process task if so I can poll to see if the process corresponding to the package has been executing for > 30 mins then I can kill it.
Hello All, My database application has certain stored procedures which are scheduled to run at certain predefined interval (say once everyday). Now to implement this logic I have two options with me, first being to use the EXECUTE SQL TASK of the SSIS package and schedule it using the windows scheduler and the other is to use the SQL Server Agent Jobs and schedule it there itself. Now the current implementation is using the SSIS packages and I even know that the second approach of using the SQL Server Agents Job is better. The only thing I want to know is whether it makes sense to invest time in converting my SSIS packages (20 in all) to SQL Server Agent jobs or not. Can somebody briefly explain or give some pointers regarding the performance benefits of Agent Jobs over the SSIS packages.
We are just migrating to sql servr 2005. I have created ssis pkg that runs fine when run mnaulli under BI. However, when I setup the ssis pkg to run as a SQL job. It errors out. Err is listed below. Seems like it is running the job under the SQL Agent account which does not have permissions to access the server i am pulling data from. Can u assit. 1984-2005. All rights reserved. Started: 1:30:51 PM Progress: 2008-02-22 13:30:57.55 Source: DTSTask_DTSDataPumpTask_1 Validating: 0% complete End Progress Error: 2008-02-22 13:30:58.33 Code: 0xC0202009 Source: Laser- Connection manager "FTWSQL" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D. An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80040E4D Description: "Login failed for user 'CFC0SQLA'.". End Error Error: 2008-02-22 13:30:58.33 Code: 0xC020801C Source: DTSTask_DTSDataPumpTask_1 OLE DB Source [1] Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "FTWSQL" failed with error code 0xC0202009. There m... The package execution fa... The step failed.
I have a process which is hung in Sql Agent 2005. The first step is an SSIS package which loads our data warehouse. The final step of the SSIS package is running a DBCC CHECKDB Task. Looking through the logs I notice that this task ran, and that the package reported Success in the System logs. Sql Agent Monitor shows that it is still executing this step. Moreover, no errors have been reported in the following logs; Sql Agent, Sql Server or the System logs.
We currently have this step executing under a proxy account which has administrative rights. We ran the agent for the first time yesterday as a test and it ran through correctly.
If you need more information I would be happy to provide it.
if I have some packages (.dtsx) that are depolyed to Server A and I have SQL Agent installed on Server B - if I run a run a package from SQL Agent, does it run on Server A or Server B?
They wre runnning fine until 4/21/2008 then all SSIS packages started to fail.
Simple SQL jobs are still running fine thouhgt and reporting success.
Unable to start execution of step 1 (reason: The SSIS subsystem failed to load [see the SQLAGENT.OUT file for details]; The job has been suspended). The step failed.
I'm trying to execute my package using schedule in SQL Server Agent, I've already tested my package by run it manually in Integration services and it works. The table created, the data from my flat file also inserted into the table correctly and the result return with success.
The question is why when I execute my package using SQL Server Agent, the SQL Server Agent keep executing my package like infinite loop until I stop the job. after I stop the job there is no error generated by sql server. Could you figured why this happen?? I've already tried to upgrade into SP2 and set the package protection level and still not get good result from it. thank you.
I have SSIS Package that needs special permissions in network. I want to schedule SSIS running using SQL Agent. I don't want to other Jobs starts with special permissions. So, I decided to use proxy account to impersonate SSIS starting process by account with those permissions. I've perfomed following steps: 1. Create Login for the future proxy account and add it to sysadmins role. 2. Create Credential with account name and password information. 3. Create proxy account and give to it rights to run SSIS, CmdExec and ActiveX create. 4. Set Run as for step that starts my package to this proxy 5. Start my job. and I receive error "Process couldnot be created for step 1 job xxx. Reason: 1314" SQL Agent account and proxy accounts has also administrators rights on SQL Server computer and rights to login as service. When I change step configuration to run as SQL Agent account job completes succesfull. What do I do wrong?
I need some help from you on a problem with SQL Server Agent that I believe many of you have experienced. When searching on the web I find some loose answers, but it would not solve my problems. So here is my story.
1. I have created two SSIS packages, package 1 and package 2. Both packages have a Execute SQL Task making a select sql statement to a table, say Customer in AdventureWorks DB. Package1 also makes a Execute Pacakge Task to Package 2. Both packages have protectionlevel property set to EncryptSensitiveWithUserKey
2. Then I created two package configuration files per package, one indirect xml configuration and one xml configuration file. The former I created an environment variable called pack1, which was specifying the path and file name of second config file. Likewise, I did for package2. Maybe I could have reused thie first configuration file, but I am not sure since package1 calls package2.
3. Now I build and deploy my packages. Then I run my manifest file, going through the deployment wizard setting the necceccary properties like server name, user, password, I have also create the same environment variables on the deployment machine. I ensure that the package1 and package2 can be run under integration services (file system). And both package works. So far so good
4. Now I want to create a SQL server agent job that runs package1 and package2. Here I found an article that decribed How to Schedule and Run a SSIS package ( DTS ) Job in SQL Server 2005 http://www.codeproject.com/useritems/Schedule__Run__SSIS__DTS.asp
5. I created a job executor account and then Create SQL proxy account and associate proxy account with job executor account as described. I created a new ssis job, specifying type ssis integration services, run as proxy, setting package source to SSIS package store, naming the server and package name (package2).
6. Now, I try running job1 which runs package2. ANd it works. I was aware if I needed to give file permission on users (read and execute) on my dtsx/dtsconfig/log files. So far so good
7. Now, I try to run job test which runs package1 (which also runs package2). But now the job fails :-(. The job runs for some seconds, but fails. I have to say that I have some script tasks with message boxes inside!!! hope this doesn't matter. I have created all neccessary accounts, proxies, credentials and so on. here is the view history
Date 17.10.2006 00:50:53 Log Job History (test)
Step ID 1 Server ABEO-GEIR Job Name test Step Name test Duration 00:00:07 Sql Severity 0 Sql Message ID 0 Operator Emailed Operator Net sent Operator Paged Retries Attempted 0
Message Executed as user: abeo-geir as_jobuser. The package execution failed. The step failed.
Continue: This error is well known for you. It has been mentioned in many postings. Well, how do I go from here. Setting logging on the job results in only this information
PackageStart,ABEO-GEIR,ABEO-GEIR as_jobuser,Package1,{3F5BD166-D24B-4838-B3F1-018B6C2C7523},{8E1B8E45-7F1D-4C24-852C-2694F993E6D2},17.10.2006 00:59:40,17.10.2006 00:59:40,0,0x,Beginning of package execution.
PackageEnd,ABEO-GEIR,ABEO-GEIR as_jobuser,Package1,{3F5BD166-D24B-4838-B3F1-018B6C2C7523},{8E1B8E45-7F1D-4C24-852C-2694F993E6D2},17.10.2006 00:59:41,17.10.2006 00:59:41,1,0x,End of package execution.
Well, I read some place that I could run the job as type operating system (cmdexec). Here i could not choose Run as, but had to select SQL SErver agent account. NOw I got this message
Date 17.10.2006 01:05:21 Log Job History (test)
Step ID 0 Server ABEO-GEIR Job Name test Step Name (Job outcome) Duration 00:00:00 Sql Severity 0 Sql Message ID 0 Operator Emailed Operator Net sent Operator Paged Retries Attempted 0
Message The job failed. The Job was invoked by User sa. The last step to run was step 1 (test).
As you see, I can't come any further. I NEED HELP FROM YOU. I AM STUCK. I know many of you have solved this and I hope you can guide me through thise. I don't know how many hours or days I have used on this.
I have deployed to production a number of nested packages (parent packages that call child packages) to the SQL msdb via the Save As option rather than building a deployment utility. These packages reference configuration files in a static location off of the c: drive on the production server. In the development environment, when connection changes are made and I run the Reload with Upgrade option the connection manager takes on the new server and user id settings. However, out on the production side I get the following error from the SQL job log:
Cannot load the XML configuration file. The XML configuration file may be malformed or not valid.
As a result the SQL job uses the default connection information which references the development database rather than the production database. I did research the error but found no good solutions. Is there a way to ensure the configuration files are formed correctly and that the packages are correctly referencing the configuration files? We are trying to run the ETL updates via a SQL job.
I have a requirement of logging the failure and the error of a job executing a SSIS package to text file. However, when I go to job step -> Advanced, in the section "SQL Server Integration Services Package" where that info to setup logging is, it is blank and just says:
"There are no options for this command type"
Any ideas?
I thought that this might not be supported in Standard Edition as I am running standard edition. Then I checked on two other servers, where I have Enterprise edition with SP2. On one of the installations, I am able to give the log file, the other one still shows,
"There are no options for this command type"
What is the problem? Both of them I am using the sysadmin role account. I have proxy account created on both the SQL instances. I don't think this is the problem, but still I checked this.
I have a ssis package that has multiple large lookups without memory restriction. When running the package manually from SSMS on the same server it runs on when running automatically under the job agent, the package errors out when the server memory gets depleted by the loading of the large lookup reference data. One of the messages I get is "An out-of-memory condition prevented the creation of the buffer object. "
Anyway, the package runs successfully when it runs automatically under the job agent.
I was curious as to why the above happens. Is that a bug or is the run time behavior different under these 2 environments by design.
I have stumbled on a problem with running a large number of SSIS packages in parallel, using the ��dtexec�? command from inside an SQL Server job.
I��ve described the environment, the goal and the problem below. Sorry if it��s a bit too long, but I tried to be as clear as possible.
The environment: Windows Server 2003 Enterprise x64 Edition, SQL Server 2005 32bit Enterprise Edition SP2.
The goal: We have a large number of text files that we��re loading into a staging area of a data warehouse (based on SQL Server 2k5, as said above).
We have one ��main�? SSIS package that takes a list of files to load from an XML file, loops through that list and for each file in the list starts an SSIS package by using ��dtexec�? command. The command is started asynchronously by using system.diagnostics.process.start() method. This means that a large number of SSIS packages are started in parallel. These packages perform the actual loading (with BULK insert).
I have successfully run the loading process from the command prompt (using the dtexec command to start the main package) a number of times.
In order to move the loading to a production environment and schedule it, we have set up an SQL Server Agent job. We��ve created a proxy user with the necessary rights (the same user that runs the job from command prompt), created an the SQL Agent job (there is one step of type ��cmdexec�? that runs the ��main�? SSIS package with the ��dtexec�? command).
If the input XML file for the main package contains a small number of files (for example 10), the SQL Server Agent job works fine �� the SSIS packages are started in parallel and they finish work successfully.
The problem: When the number of the concurrently started SSIS packages gets too big, the packages start to fail. When a large number of SSIS package executions are already taking place, the new dtexec commands fail after 0 seconds of work with an empty error message.
Please bear in mind that the same loading still works perfectly from command prompt on the same server with the same user. It only fails when run from the SQL Agent Job.
I��ve tried to understand the limit, when do the packages start to fail, and I believe that the threshold is 80 parallel executions (I understand that it might not be desirable to start so many SSIS packages at once, but I��d like to do it despite this).
Additional information:
The dtexec utility provides an error message where the package variables are shown and the fact that the package ran 0 seconds, but the ��Message�? is empty (��Message: ��). Turning the logging on in all the packages does not provide an error message either, just a lot of run-time information. The try-catch block around the process.start() script in the main package��s script task also does not reveal any errors. I��ve increased the ��max worker threads�? number for the cmdexec subsystem in the msdb.dbo.syssubsystems table to a safely high number and restarted the SQL Server, but this had no effect either.
The request:
Can anyone give ideas what could be the cause of the problem? If you have any ideas about how to further debug the problem, they are also very welcome. Thanks in advance!
I am having some problem in running SSIS scheduled job. The job is processing (updating and inserting) batches of data using Execute SQL Task inside Foreach loop container. But to make sure the batch complete successfully I put the "Begin Tran" Execute SQL Task and "Commit Tran" Execute SQL Task before and after the foreach loop My workflow is like the following.... - Execute SQL Task "Begin Tran" - ForEach Loop Container for a batch of records. - Insert the records into the database - End ForEach Loop -Execute SQL Task "Commit Tran" if the above ForEach Loop complete successfully -Execute SQL Task "Rollback Tran" if the ForEach Loop failed
Normally the insert records are around 10~200 and the job is running very fine... But if the records are more than 1000s then sometime the job hung (I would say hung because the DTEXEC.exe can be seen inside the windows task manager.) There was no indication what so ever whether the job finished or the job failed or the job else....
I have diferent jobs scheduled in the system but I can�t find which Package is launched by the job. I only have this information: (double click over the job, steb tab, modify button for any job step, in the command text window)
I have a series of jobs in the SQL server Agent that will begin and appear to run fine, but will never finish. Is there a way to limit the time that a job will run in the agent, for instance stop with failure if not completed within 1 hour?
Today when I came into work, I noticed all of my jobs failed on a particular server. I tried to manually kick off the packages, but to no avail. Both the job history and the error message from the packages state a timeout error. Any idea on this? Also, I have no problem running a query from query analyzer...even on a remote machine. Any help would be appreciated Trevor
Hi boys and girls, I am a total newbie to ms sql. So please be gentle.
I have a ms sql database on one server but I need a duplicate of the ms sql database on another server with all packages and jobs duplicated on the new server.
I was able to export the database over to the new database on the new server no problems there.
The problem is under DTS I have "local packages" that all need to be moved to the new server. I am able to export them into my computer. But on the new server there is no import for the local packages. How do I get these packages onto the new server into my server's ms sql???
Also under the management and sql agent manager, there are jobs that are on the old db, that I need to go to the new server in ms sql.
Hi All, I am not able to see any of the jobs in the enterprise manager that are scheduled on one of our production servers. Have any body seen this type of behaviour of SQL server.. The jobs are there in the SQL as I can query sysjobs table to see there entry.. The jobs are being executed properly when they are supposed to.. Thanks Ajay
Hi Guys, Can you please advice me on if there is a limitation on SQL agent Jobs. If then how many jobs can SQL server accomedate. If there is a limit, then is there are any ways to increase it? I appreciate your quick response. Thanks
I have several users that are a member of a Windows Nt group. I want to be able to allow this group to create, update, and delete SQL Agent Jobs. But I do not want them to be members of the SYSADMIN role. Everything that I have found states that they must be members of this server role to perform these actions. Does anyone have an idea on how to accomplish this? or point me in some kind of direction to explore.
Hello all, we just moved our databases over from a SQL 2000 server onto a new SQL 2005 server. We had no problem migrating them over, but was wondering if there was a way to migrate the jobs over as well. We have about 20 of them and would prefer not to hav to create them all again on the new server.
I want to move a db from a SQL server 7 to SQL Server 2K. I'll do a backup and restore function to move the database, but how do I handle the objects mentioned in the header ?
Bothe servers (old and new) will have the same name, as well as the DB
Hi Group, Is it possible to schedule and execute sql jobs from an asp page. I am developing an application that requires an administration section. In this section the admin would like to change / update the schedule of the sql job and also run the jobs ad hoc. Basicall y they would like the functionality of sql agen in enterprise manager to be available from their web application.
Has anbody done this before ? All information / solutions shall be psoted back to the group as I reckon this would be pretty useful functionality.
The SQL Server Agent process is running. When I use EM to start a database integrity check job, it fails with an error message of 22029 and the following:
[LOG] SQLServerAgent security context does not have server-autorestart privileges
I can not find error 22029 in Books on Line. I will go to Microsoft Knowledge base and research this problem.
In the mean time if someone can help, it is much appreciated.
I am trying to write a T-SQL script to change about 200 SQL Agent jobs to send notification to a different email notification list. I could do this manually but it would take me a lot more time. Is there a way to script this out in T-SQL? Thanks!
Hello, I need to document all SQL Server Agent Jobs with full description of dependencies - database, table, stored procedure, etc. Is there are a tool that I can download for that particular use???
I have a job with a single ActiveX step that I have setup and am having problems running.
If i set the SQL Server Agent to run as an Administrator then my job processes fine however under the default setup which has the SQL Server Agent running as Local System I get an error.
I assume this is permissions problem so I created a basic windows user called ABC. I then created a credential called ABC linked to the windows user ABC. I then created a proxy that uses the credential ABC and then ticked the box that allows the proxy to run ActiveX scripts. I then set the ABC as a principle of the proxy.
I then set my single job step to be run under the ABC credential.
Still no luck. This is the first time i've worked with this sort of thing so I'm not sure if I'm going about it in the right way.
Please explain how i can have a job that runs as an active X script. I understand running sql server agent as administrator is bad for security so what are the alternatives?
in reference to both MSSQL 2k8R2 and 2012, if i have a named instance AND a default instance on the same installation, and i create agent jobs (backups, indexing, etc) on either one, those same jobs appear on the "other" instance without having actually created them while logged IN to that instance.
Is this a normal feature of MSSQL? Doesn't seem like it should be happening that way.