SQL错误:内部错误。提供的缓冲区读取列值太小。运行DBCC CHECKDB以检查是否存在任何损坏。 [英] SQL ERROR: Internal error. Buffer provided to read column value is too small. Run DBCC CHECKDB to check for any corruption.
本文介绍了SQL错误:内部错误。提供的缓冲区读取列值太小。运行DBCC CHECKDB以检查是否存在任何损坏。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我选择一张桌子时出现错误。
内部错误。提供的缓冲区读取列值太小。运行DBCC CHECKDB以检查是否有任何损坏。
2天我的数据库进入可疑模式并且我解决了它。
当我通过以下语法执行DBBCC Checkdb时
Hi,
I am getting an error when i select a table.
Internal error. Buffer provided to read column value is too small. Run DBCC CHECKDB to check for any corruption.
2 Days back my database has gone into suspect mode and i solved it.
When I did DBBCC Checkdb by below syntax
ALTER DATABASE POSS SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
BEGIN TRANSACTION;
DBCC CHECKDB ('POSS');
ALTER DATABASE POSS SET MULTI_USER;
我收到以下错误
I am getting following errors
Msg 8992, Level 16, State 1, Line 3
Check Catalog Msg 3858, State 1: The attribute (max_length=0) of row (object_id=119007505,column_id=8) in sys.columns has an invalid value.
Msg 226, Level 16, State 6, Line 4
ALTER DATABASE statement not allowed within multi-statement transaction
谢谢
Sanju
Thanks
Sanju
推荐答案
您的数据库已损坏。从上次已知的良好备份中恢复它。
如果你没有备份(为什么不呢?!),那么你可能会能够使用其中一个修复选项:
http:// www。 sql-server-pro.com/dbcc-checkdb.html [ ^ ]
http:// msdn .microsoft.com / zh-CN / library / ms176064.aspx [ ^ ]
DBCC CHECKDB
命令的输出将告诉你需要的最低修理水平。如果幸运的话,它将是REPAIR_REBUILD
,它将尝试修复损坏而不删除任何数据。否则,您将被卡在REPAIR_ALLOW_DATA_LOSS
中,这将删除数据并破坏参照完整性以尝试修复损坏。
确保在任何修复操作后运行DBCC CHECKCONSTRAINTS
。
数据库返回后一个可用的状态,设置一个工作来定期备份你的数据库。确保定期测试备份,以确保在必要时可以恢复它们。
Your database is corrupt. Restore it from the last known good backup.
If you don't have a backup (why not?!), then you might be able to use one of the repair options:
http://www.sql-server-pro.com/dbcc-checkdb.html[^]
http://msdn.microsoft.com/en-us/library/ms176064.aspx[^]
The output from theDBCC CHECKDB
command will tell you the minimum repair level required. If you're lucky, it will beREPAIR_REBUILD
, which will attempt to fix the corruption without deleting any data. Otherwise, you'll be stuck withREPAIR_ALLOW_DATA_LOSS
, which will delete data and break referential integrity to try to fix the corruption.
Make sure you runDBCC CHECKCONSTRAINTS
after any repair operation.
Once your database is back to a usable state, set up a job to back your database up on a regular basis. Make sure you regularly test the backups to ensure that you can restore them if necessary.
这篇关于SQL错误:内部错误。提供的缓冲区读取列值太小。运行DBCC CHECKDB以检查是否存在任何损坏。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文