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].[new
hirever5].
[newhireve
r5].[tblap
plicants] 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!
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.