dbTalk Databases Forums  

DTS Package deadlocks with itself

microsoft.public.sqlserver.dts microsoft.public.sqlserver.dts


Discuss DTS Package deadlocks with itself in the microsoft.public.sqlserver.dts forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Greg Simpson
 
Posts: n/a

Default DTS Package deadlocks with itself - 01-06-2004 , 03:20 PM






We have a DTS package which we use to pull changed
transactions from Oracle into a SQL Server data warehouse.
The package steps pull the data from Oracle into a
temporary table, then inserts the NEW records into the
target, then updates the CHANGED records into the target.
The CHANGED records portion of the task is where the
deadlock occurs. Here the package uses a data driven query
task where the SOURCE does:

select a.* from temp a inner join target b
where a.key = b.key and a.updated <> b.updated

The BINDINGS window points back to the same target table
used for the join in the SOURCE. A majority of the time,
the package executes fine, but on occasion, the package
deadlocks with itself, however, the batch job that runs
the package simply continues to "run".

MS support did not have a good answer "separate the
functionality so that the DTS task is not attempting to
select and update the same table". My position is that if
it ever worked it should always work, or there should be a
parm that allows me to specify serialization of the update
after the select.

Does anyone have a suggestion? Any help would be much
appreciated.

Greg

Reply With Quote
  #2  
Old   
Allan Mitchell
 
Posts: n/a

Default Re: DTS Package deadlocks with itself - 01-06-2004 , 03:51 PM






OKthis is how I implement the DDQ

On the destination data source I create a table the exact same structure as
the source and use that as the BINDINGS table.

I then create and map my statements.

Let me know if that helps.

On the workflow properties for the DDQ set "Close Connection on Completion"



--

Allan Mitchell MCSE,MCDBA, (Microsoft SQL Server MVP)
www.allisonmitchell.com - Expert SQL Server Consultancy.
www.SQLDTS.com - The site for all your DTS needs.
I support PASS - the definitive, global community
for SQL Server professionals - http://www.sqlpass.org


"Greg Simpson" <Greg.Simpson (AT) MyFlorida (DOT) com> wrote

Quote:
We have a DTS package which we use to pull changed
transactions from Oracle into a SQL Server data warehouse.
The package steps pull the data from Oracle into a
temporary table, then inserts the NEW records into the
target, then updates the CHANGED records into the target.
The CHANGED records portion of the task is where the
deadlock occurs. Here the package uses a data driven query
task where the SOURCE does:

select a.* from temp a inner join target b
where a.key = b.key and a.updated <> b.updated

The BINDINGS window points back to the same target table
used for the join in the SOURCE. A majority of the time,
the package executes fine, but on occasion, the package
deadlocks with itself, however, the batch job that runs
the package simply continues to "run".

MS support did not have a good answer "separate the
functionality so that the DTS task is not attempting to
select and update the same table". My position is that if
it ever worked it should always work, or there should be a
parm that allows me to specify serialization of the update
after the select.

Does anyone have a suggestion? Any help would be much
appreciated.

Greg



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.