首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Server中“等待缓冲区闩锁类型2时发生超时”错误

Server中“等待缓冲区闩锁类型2时发生超时”错误
EN

Stack Overflow用户
提问于 2010-06-30 12:42:13
回答 2查看 13.6K关注 0票数 4

在等待页(1:1535865)的缓冲区锁存类型2(数据库ID 6 )时发生超时.

这是我在尝试创建索引时收到的五次错误消息。

代码语言:javascript
运行
复制
CREATE NONCLUSTERED  INDEX YearIndx ON dbo.Papers
(   
    PublicationYear
)

论文表约为2000万张记录,175 GB。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-30 14:29:06

我从来没有遇到过这样的情况,在谷歌上搜索也没有立即击中我,所以下面是我要尝试的:

请验证您正在从SSMS查询窗口运行此查询。如果是,则转到查询、查询选项、执行。执行超时的价值是什么?

代码语言:javascript
运行
复制
CREATE NONCLUSTERED  INDEX YearIndx ON dbo.Papers
(   
    PublicationYear
)
WITH 
(
SORT_IN_TEMPDB = ON
--, ONLINE=ON               --Enterprise only
, ALLOW_ROW_LOCKS =  OFF    --default is on
, ALLOW_PAGE_LOCKS =  OFF   --default is on
,  MAXDOP = 1               --all that you can allow
)
  • 哦,确保您阅读了create语句,以确保我选择的选项适用于您的情况。例如,如果tempdb与db_name(6)位于同一组磁盘上,那么情况可能只会变得更糟
  • 另一个选项是创建一个相同的空表,其中包含您想要的所有索引。然后,您可以通过选择out of dbo.Papers来温和地填充该表。完成后,使用一批事务包装,将dbo.Papers重命名为dbo.Papers_old,将dbo.Papers_new重命名为dbo.Papers。
  • 最后,我在考虑你的索引。您是否绝对确信,PublicationYear上的索引将解决出现的任何问题?我突然意识到,大多数人可能并没有在一年内找到所有的东西。更有可能的是,约翰今年写的所有论文,或者上个月写的所有论文。
票数 3
EN

Stack Overflow用户

发布于 2010-10-28 12:10:02

如果您的问题涉及临时表而不是索引创建,并且错误消息中有“类型4”,那么问题很可能是Server 2008错误

由于索引创建实际上涉及tempdb如果"SORT_IN_TEMPDB = ON",这些问题很可能是相关的。

建议为您的Server版本应用累积更新。

等待缓冲区锁存时超时--类型4,bp 000000FEAFF028,第12页:312752,stat 0xbc0009,数据库id: 2,分配单元id: 724228131807060/351413755606409,任务0x000000D2220838: 0,等待时间20700,标志0x1000001a,拥有任务0x0000000D22302808。继续等待。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3149310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档