Error 7343 upon insert - using linked servers

  • Hello Everyone.

    I have a developer who is running a query (in Query Analyzer) that follows this basic outline...

    insert into SQLServerA.table...select from SQLServerB.table

    and runs from SQLServerC.  I know - it's convoluted!  That's an issue for another day.  Anyway, he gets the following error:

     

    Server: Msg 7343, Level 16, State 2, Line 1

    OLE DB provider 'SQLOLEDB' could not INSERT INTO table '[server name].[timecorp].[timecorp].[app_task_access]'. Unknown provider error.

    [OLE/DB provider returned message: Cursor operation conflict]

    OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IRowsetChange::InsertRow returned 0x80040e23:  Unknown provider error.].

     

    I've already checked the NOCOUNT settings for each of ther servers and I had him make sure that he had SET NOCOUNT OFF in his script.  There have been no recent changes or upgrades to any of the SQL Servers or to his workstation.

    Can you think of anything else?!  Microsoft has not documented this error well.

  • Make sure you have MSDTC service started on all 3 servers, and that each LinkedServer has the desired permissions for the "other" servers.

    Make sure that the SQL Server service accounts have permissions configured between each of the 3 servers for stored procedure or views that span servers.

    If the script is a scheduled job, make sure that the SQL Server Agent service account has permissions configured between each of the 3 servers.

    Generally an Insert / Update that is distributed between servers will benefit by being executed on the server that is receiving the data.

    Andy

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply