Link to home
Start Free TrialLog in
Avatar of newoffice
newoffice

asked on

Linked Server Update query running very slow

I have a 2005 sql server which is linked to 2000 sql server. I am trying to run an update query on the 2000 database. it does get updated but it takes a long time to run even one single row. I have defined a primary key on the destination table. I checked the collation too. I have the same problem as this post, only that the solutions there is not solving mine.

https://www.experts-exchange.com/questions/23301337/SQL-2005-2000-linked-servers-Could-not-create-an-acceptable-cursor.html?sfQueryTermInfo=1+join+link+server+updat+us

I had the same error. Now I am able to get rid of the error, but the query to update a single row is 4 minutes.

declare @tblSource table
(intapplicantid int primary key,
txtstatus varchar(200))

insert into @tblSource
select intapplicantid, txtstatus from tblapplicants
where intapplicantid = 124963

update dest
set dest.txtstatus = src.txtstatus
from @tblSource src
inner join
[mssql.new-hire1.com].[newhirever5].[newhirever5].[tblapplicants] dest
      on dest.intapplicantid = src.intapplicantid
collate SQL_Latin1_General_CP1_CI_AS

I am using temp table just to check the performance.

Is anything obvious in the above query? Please help!
Avatar of newoffice
newoffice

ASKER

Only difference between the source and destination table is :

The destination table does not have identity field set to yes where as source has yes. I cannot really set the identity field to yes in the destination - this will not let me copy the intapplicantid field from source to destination.
ASKER CERTIFIED SOLUTION
Avatar of EugeneZ
EugeneZ
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial