Sql server 数据库修改一条纪录修改不了,急!

bn007 2002-12-17 08:35:56
用update修改表中的一条纪录中了一个字段提示如下错误:
The non_clustered leaf row for page 88650 row was not found in index page 43994 indexid 7 database 'gsxt'
奇怪的是修改这条纪录的其他字段是可以的。
...全文
219 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
bn007 2002-12-23
  • 打赏
  • 举报
回复
问题解决,怎么分发分数?
tjan 2002-12-23
  • 打赏
  • 举报
回复
按“管理”按钮,谁的回答对你有帮助,你就可以把分发给谁。
sageking 2002-12-17
  • 打赏
  • 举报
回复
This article was previously published under Q185964
BUG #: 17927 (SQLBUG_65)
SYMPTOMS
Using a DELETE WHERE CURRENT OF <cursor> statement can cause several server instabilities, including transient corruption. This can appear in the error log with the following error messages:

Error 605 Attempt to fetch logical page %ld in database '%.*s' belongs to object '%.*s', not to object '%.*s'.

Error 644 The non_clustered leaf row entry for page %ld row %d was not found in index page %ld indexid %d database '%.*s'

Error 624 Attempt to retrieve row from page via RID failed because the requested RID has a higher number than the last RID on the page. %S_RID.%S_PAGE.
These errors are only transient and do not appear if a database consistency check is run. In addition to the corruption, the server can stop responding (hang) and may also experience a handled access violation.
WORKAROUND
Adding an unique index to the table can greatly reduce the occurrence of this problem. You can also work around the problem by rewriting the Transact-SQL to avoid the use of a DELETE WHERE CURRENT OF <cursor> statement.
arrow_gx 2002-12-17
  • 打赏
  • 举报
回复
建议用SQL维护一下数据库, 重整 index ,主键...
bn007 2002-12-17
  • 打赏
  • 举报
回复
select * from nfgs_jbqk where nbxh=1234567
可以查出来
arrow_gx 2002-12-17
  • 打赏
  • 举报
回复
你可以用

select * from nfgs_jbqk where nbxh=1234567

查到记录吗??

另外建议你重建 索引,应该可以解决问题
bn007 2002-12-17
  • 打赏
  • 举报
回复
补充一下,
zs仅是一个varchar普通字段,无论改成什么值都不行的。
bn007 2002-12-17
  • 打赏
  • 举报
回复
update 表名 set 要修改的字段=修改后的值 where 主键=主键的值
即:
update nfgs_jbqk set zs='包头市' where nbxh=1234567
zs并不是主键。

但是如果我修改别的字段就可以如:
update nfgs_jbqk set jydz='包头市' where nbxh=1234567
iamltd 2002-12-17
  • 打赏
  • 举报
回复
楼上说的对
估计是你改到UNIQUE的键值了。又有重复
Drate 2002-12-17
  • 打赏
  • 举报
回复
可能你修改的是一个主键字段吧!而你修改以后的结果与其它的记录有重复的地方!
arrow_gx 2002-12-17
  • 打赏
  • 举报
回复
你的修改语句是怎样的??
tjan 2002-12-17
  • 打赏
  • 举报
回复
是索引页坏了,需要重建索引

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧