%20%E7%9A%84%E7%BC%93%E5%86%B2%E5%8C%BA%E9%97%A9%E9%94%81%E7%B1%BB%E5%9E%8B%203%20%E6%97%B6%E5%8F%91%E7%94%9F%E8%B6%85%E6%97%B6%EF%BC%8C%E6%95%B0%E6%8D%AE%E5%BA%93%20ID%208.png)
将记录插入 SQL 2005 SP3 DB 时出现以下错误。
消息 845,级别 17,状态 1,第 1 行等待页面 (1:401831) 的缓冲区闩锁类型 3 时发生超时,数据库 ID 8。
“页面 (1:401831)”是指什么,这是内存分配还是磁盘分配?
我之所以问这个问题,是因为错误总是指向同一个页面。删除插入的记录可以暂时解决问题,但之后又会出现在另一条记录上。
因此,我相信该页面所指的任何内容都已损坏,并且 SQL 无法从中读取。
插入的记录从远程 OLTP SQL 服务器拉到 DataWareHouse 服务器,导致 DWH 服务器出现故障。另一台 DWH 服务器成功复制了相同的记录。
谢谢你!
答案1
它是数据库中 8k 页的标识符。“在磁盘上”或“在内存中”有点无关紧要,因为答案可以同时为“是”。您可以使用查看页面的内容dbcc page(8, 1, 401831)
。dbcc page 没有记录,但您可以在那里找到大量有关它以及如何解释输出的信息。注意:默认情况下,输出将转到错误日志。如果您希望它返回到您的 SSMS(或者无论您如何运行命令),请先发出dbcc traceon(3604)
。