• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2581
  • Last Modified:

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.
0
ezkhan
Asked:
ezkhan
  • 3
  • 2
1 Solution
 
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
 
ezkhanAuthor Commented:
Why 0 points are being awarded????
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now