台灣最大程式設計社群網站
線上人數
1651
 
會員總數:245969
討論主題:189549
歡迎您免費加入會員
討論區列表 >> MS SQL >> SQL常常邏輯頁發生錯誤 只能重新建資料表再抓舊資料進去
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
SQL常常邏輯頁發生錯誤 只能重新建資料表再抓舊資料進去
價值 : 10 QP  點閱數:1249 回應數:1
樓主

KaraTrar
門外漢
0 25
157 12
發送站內信

以下這問題找過許久都沒答案至今也一直擺著
嘗試提取資料庫 7 中的邏輯頁 (1:190560) 失敗。它屬於配置單位 72057594073513984,而非屬於 72057594072530944。


但是最近整理資料庫時發現我下一個指令後他就產生了(而且有兩張資料表都發生這個狀況) 所以不知道能不能幫忙一起找到問題的造成原因

今天我下指令複製A資料表到B資料表 一次10000筆 20000筆都沒問題
後來我下一次n十萬筆執行失敗後
就發生一個程式一直報錯
後來檢查是同資料庫另一張資料表發生
嘗試提取資料庫 7 中的邏輯頁 (1:190560) 失敗。它屬於配置單位 72057594073513984,而非屬於 72057594072530944。
的錯誤
導致查詢資料庫的命令報錯

請問是不是很多人同時使用一個資料庫然後造成很大量的資料使用的話 會造成紅字中的錯誤呢?還是有什麼原因?
那錯誤都是忽然發生的 網路上很多方法都嘗試過 包含修復資料庫(不能執行) 把資料移到新的硬碟 重載資料庫等等都不行
只能重建一張新的資料表來讓使用到資料庫的程式繼續運行 每當到一段時間後又會發生錯誤

搜尋相關Tags的文章: [ 配置單位 ] ,
本篇文章發表於2016-03-07 17:59
1樓
最有價值解答

pilipala
檢舉此回應
先檢查硬碟本身是不是有壞軌,可以看看 SQL Server Error Log 內有沒有 823、824 和 825 這三個硬碟相關的錯誤

針對你所說的 Table 進行 DBCC CheckTable,假如 Table 內有毀損的 Page,執行完 DBCC CheckTable 後,會記錄在 msdb 內的 suspect_pages Table
利用 DBCC Page 或 sys.dm_db_database_page_allocations 來確認 suspect_pages 的資訊,假如毀損的 Page 是 Data Page 或 Index Page(這兩種情況最常見)
Index Page,通常就重建該 Index 就好
Data Page,可以利用分頁還原修復,最慘的情況就是利用 DBCC CheckDB 來進行修復,但會有資料遺失的風險喔

利用 DBCC CheckDB 來修復資料庫,必須在單一使用者模式下才可以執行喔
本篇文章回覆於2016-03-08 09:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.