Problems running an SSIS package
Hello, I have an SSIS package and in the last several days, whenever I run it, it fails with the errors: Error: Server: The operation has been cancelled. Error: Execution of DDL failed. It always happens when it performs an incremental processing to a measure group with a distinct count measure, so I removed all the aggregations it had but one to make it less complex, but it still fails. I used the SQL profiler to monitor it, and I saw that just before the failure, the Avg. Disk Queue Length counter jumps up to the maximum value. Does it indicate that there's too few RAM, or maybe it gets stuck due to a bad sector in the disk? Does anyone have an idea? Thanks.
November 21st, 2010 1:47am

If it worked previously and suddenly does not, something happened. If you did not change it I think the disk subsystem or memory is problem... Take a look at waits while SSIS is running , any errors in the ERROR.LOG?Best Regards, Uri Dimant SQL Server MVP http://dimantdatabasesolutions.blogspot.com/ http://sqlblog.com/blogs/uri_dimant/
Free Windows Admin Tool Kit Click here and download it now
November 21st, 2010 4:00am

Sorry for my ignorance, but where is error.log and how to look at waits? Is it a new counter I have to add to the SQL profiler?
November 21st, 2010 6:57am

1. Usually C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG 2. WITH Waits AS ( SELECT wait_type, wait_time_ms /1000. AS wait_time_s, 100. * wait_time_ms / SUM(wait_time_ms)OVER()AS pct, ROW_NUMBER() OVER(ORDER BY wait_time_ms DESC) AS rn FROM sys.dm_os_wait_stats WHERE wait_type NOT IN ('CLR_SEMAPHORE','LAZYWRITER_SLEEP','RESOURCE_QUEUE','SLEEP_TASK' ,'SLEEP_SYSTEMTASK','SQLTRACE_BUFFER_FLUSH','WAITFOR', 'LOGMGR_QUEUE','CHECKPOINT_QUEUE' ,'REQUEST_FOR_DEADLOCK_SEARCH','XE_TIMER_EVENT','BROKER_TO_FLUSH','BROKER_TASK_STOP','CLR_MANUAL_EVENT' ,'CLR_AUTO_EVENT','DISPATCHER_QUEUE_SEMAPHORE', 'FT_IFTS_SCHEDULER_IDLE_WAIT' ,'XE_DISPATCHER_WAIT', 'XE_DISPATCHER_JOIN') ) --filter out additional irrelevant waits SELECT W1.wait_type, CAST(W1.wait_time_s AS DECIMAL(12,2))AS wait_time_s, CAST(W1.pct AS DECIMAL(12,2))AS pct, CAST(SUM(W2.pct)AS DECIMAL(12,2))AS running_pct FROM Waits AS W1 JOIN Waits AS W2 ON W2.rn<= W1.rn GROUP BY W1.rn, W1.wait_type, W1.wait_time_s, W1.pct HAVING SUM(W2.pct)-W1.pct < 90-- percentage threshold ORDER BY W1.rn;Best Regards, Uri Dimant SQL Server MVP http://dimantdatabasesolutions.blogspot.com/ http://sqlblog.com/blogs/uri_dimant/
Free Windows Admin Tool Kit Click here and download it now
November 21st, 2010 8:57am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics