點(diǎn)晴MIS系統(tǒng)提示錯(cuò)誤:嘗試在數(shù)據(jù)庫5中提取邏輯頁()失敗。該邏輯頁屬于分配單元xxx而非xxx...,如何解決?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
![]() 此信息表明數(shù)據(jù)庫或表已經(jīng)部分損壞,可以通過以下步驟嘗試修復(fù): 1. DBCC CHECKDB 重啟服務(wù)器后,在沒有進(jìn)行任何操作的情況下,在SQL查詢分析器中執(zhí)行以下SQL進(jìn)行數(shù)據(jù)庫的修復(fù),修復(fù)數(shù)據(jù)庫存在的一致性錯(cuò)誤與分配錯(cuò)誤。 use master declare @databasename varchar(255) set @databasename='需要修復(fù)的數(shù)據(jù)庫實(shí)體的名稱' exec sp_dboption @databasename, N'single', N'true' --將目標(biāo)數(shù)據(jù)庫置為單用戶狀態(tài) dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) dbcc checkdb(@databasename,REPAIR_REBUILD) exec sp_dboption @databasename, N'single', N'false'--將目標(biāo)數(shù)據(jù)庫置為多用戶狀態(tài) 然后執(zhí)行: DBCC CHECKDB('需要修復(fù)的數(shù)據(jù)庫實(shí)體的名稱') 檢查數(shù)據(jù)庫是否仍舊存在錯(cuò)誤。注意:修復(fù)后可能會(huì)造成部分?jǐn)?shù)據(jù)的丟失。 2. DBCC CHECKTABLE 如果DBCC CHECKDB 檢查仍舊存在錯(cuò)誤,可以使用DBCC CHECKTABLE來修復(fù)。 use 需要修復(fù)的數(shù)據(jù)庫實(shí)體的名稱 declare @dbname varchar(255) set @dbname='需要修復(fù)的數(shù)據(jù)庫的名稱' exec sp_dboption @dbname,'single user','true' dbcc checktable('需要修復(fù)的數(shù)據(jù)表的名稱',REPAIR_ALLOW_DATA_LOSS) dbcc checktable('需要修復(fù)的數(shù)據(jù)表的名稱',REPAIR_REBUILD) ------把’需要修復(fù)的數(shù)據(jù)表的名稱’更改為執(zhí)行DBCC CHECKDB時(shí)報(bào)錯(cuò)的數(shù)據(jù)表的名稱 exec sp_dboption @dbname,'single user','false' 3. 其他的一些常用的修復(fù)命令 DBCC DBREINDEX (表名,’’) 修復(fù)此表所有的索引。 4.DBCC CHECKALLOC 檢查指定數(shù)據(jù)庫的磁盤空間分配結(jié)構(gòu)的一致性。 該文章在 2023/10/17 17:52:07 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |