Linked server from SQL Server 2008 R2 64 bit to SQL Server 2000 32 bit is failing on updated statement

linked server problem when I run update statement from SQL Server 2008 R2 64 bit to SQL Server 2000 32 bit. It returns error given below;

Msg 682, Level 22, State 148, Line 1 Internal error. Buffer provided to read column value is too small. Run DBCC CHECKDB to check for any corruption.

I have tried every thing and have created sp_tables_info_rowset_64 stored procedure in master database of SQL Server 2000. It enabled select and insert into the SQL Server 2000 database tables but when I try to Update records on SQL Server 2000 database tables above error comes up.

Any comments and suggestions are appreciated.

Thanks.
ezkhanAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

lcohanDatabase AnalystCommented:
Can you try to copy your SQL 2008 record set data from SQL 2008 to the SQL 2000 in a "staging" table by using INSERT then run the UPDATE at SQL 2000 side in a stored proc by using both these tables - staging and destination - that are in SQL 2000?
0
ezkhanAuthor Commented:
Hi,

I have figured out the solution. To update or insert statement with multiple joins involved in it across linked servers from SQL Server 2008 R2 64 bit to SQL Server 2000 32 bit requires the installation of service pack 3 or 4 on SQL Server 2000 machine. Once it is installed then under windows authentication or under SQL Server authentication with administrative rights user needs to run INSTCAT.SQL script.

For a default instance
osql -E -S <LinkedServerName> -i <Location>\instcat.sql



For a named instance
osql -E -S <LinkedServerName>\<InstanceName> -i <Location>\instcat.sql


Microsoft Reference:
http://support.microsoft.com/kb/906954/

Thanks.
0
ezkhanAuthor Commented:
I've requested that this question be closed as follows:

Accepted answer: 0 points for ezkhan's comment #37845174

for the following reason:

Hi,<br /><br />I have figured out the solution. To update or insert statement with multiple joins involved in it across linked servers from SQL Server 2008 R2 64 bit to SQL Server 2000 32 bit requires the installation of service pack 3 or 4 on SQL Server 2000 machine. Once it is installed then under windows authentication or under SQL Server authentication with administrative rights user needs to run INSTCAT.SQL script.<br /><br />For a default instance<br />osql -E -S &lt;LinkedServerName&gt; -i &lt;Location&gt;\instcat.sql<br /><br /><br /><br />For a named instance<br />osql -E -S &lt;LinkedServerName&gt;\&lt;Instan<wbr />ceName&gt; -i &lt;Location&gt;\instcat.sql<br /><br /><br />Microsoft Reference:<br /><a href="http://support.microsoft.com/kb/906954/" target="_blank">http://support.microsoft.c<wbr />om/kb/9069<wbr />54/</a><br /><br />Thanks for your answers and comments.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ezkhanAuthor Commented:
Why 0 points are being awarded????
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server 2008

From novice to tech pro — start learning today.