"Buffer provided to read column value is too small" Error on SQL 2008 R2

  • Hi,

    We have recently migrated our database from SQL 2005 to SQL 2008 R2 having OS windows 2008 R2 x64 Enterprise Edition. Some of our SPs which was running perfectly fine on SQL 2005 now giving following error -

    Msg 682, Level 22, State 148, Procedure usp_MySP, Line 50

    Internal error. Buffer provided to read column value is too small. Run DBCC CHECKDB to check for any corruption.

    All these SPs running on 2008 R2 and updating SQL 2000 DB via a linked server. Following is one of the update statement in SP which throwing above error -

    UPDATE EM

    SET EM.postid = 68

    FROM <<SQL 2000 linkedserver>>.tab1 EM JOIN

    tab2 data ON EM.Id=data.Id

    WHERE EM.postid <> 68

    *I have executed DBCC CHECKDB on SQL 2000 DB and found no error.

    Any help would be appreciated.

    - Harish

  • Have you run CheckDB on the 2008 databases?

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • Yes I have executed DBCC CHECKDB against SQL 2008 and found no error 🙁

  • I would say this is a known error in 2008. Is the plan making use of any temporary objects at all? An eager spooler for example?

  • This is a known issue and we had a PSS case investigating the same. If possible, you could use a workaround by creating a Linked Server connection on SQL 2000 instance back to SQL 2008 R2 instance and running the update from there.

    Else, another PSS suggestion was to run instcat.sql details here

    http://support.microsoft.com/?id=906954

    Warning: If you choose to do this Please test this in your test environment first!

    Hope this helps.

    Cheers

    Chirag

  • I tried to execute SQL 2008 stored procedure from SQL 2000 linked server but its not working and throwing error 🙁 -

    Msg 0, Level 11, State 0, Line 0

    A severe error occurred on the current command. The results, if any, should be discarded.

    But single update statement by replacing sql 2000 linked server is working fine.

    Is there any way to execute SQL 2008 stored procedures without any change?

Viewing 6 posts - 1 through 5 (of 5 total)

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