【问题标题】:Timeout Error in SQL ServerSQL Server 中的超时错误
【发布时间】:2018-08-27 22:54:28
【问题描述】:

等待页面 (1:42109888) 的缓冲区锁存器类型 2 时发生超时,数据库 ID 为 8。

当我尝试使用以下 SQL 重建索引时出现错误:

ALTER INDEX [IndexName] ON [dbo].[TableName] REBUILD

有人可以提出解决方案吗?

【问题讨论】:

  • 下班后做...重建索引需要几个小时
  • 我 vtc 将其移至 dba.stackexchange,因为在那里您可能会更容易得到答案。
  • 你能运行DBCC CHECKDB吗?然后为表中的所有索引运行 ALTER 索引脚本: ALTER INDEX ALL ON mySchema.myTable REBUILD
  • 为什么要重建索引?您有 SQL Server 的 Enterprise 许可证吗?
  • 您的数据库是否配置为使用快照隔离?

标签: sql-server tsql database-administration


【解决方案1】:

与其他建议一样,尝试在下班后执行此操作,表/索引的大小是多少?

如果你有企业版,你应该在网上做,也使用并行(取决于你的 CPU 数量以使其更快)

ALTER INDEX [IndexName] ON [dbo].[TableName] REBUILD WITH (ONLINE=ON, MAXDOP=X) 

此外,如果您的 tempdb 位于单独的驱动器上,您还可以包含 sort_in_tempdb 以允许在 tempdb 中执行中间排序,这也可能是有益的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 2012-05-26
    • 2018-06-20
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多