Sql-Server

無法在 DBCC CHECKDB 上保存並出錯

  • December 4, 2021

我嘗試保存我的數據庫≈260 Mb

我有這個錯誤:

System.Data.SqlClient.SqlError:失敗讀取函式不正確

所以我嘗試: DBCC CHECKDB (‘myDatabase’) PHYSICAL_ONLY

我有這個錯誤:

消息 8921,級別 16,狀態 1,線路 1 停止控制。收集事實時發生錯誤。tempdb 空間不足或系統表不一致。檢查以前的錯誤。

沒有 PHYSICAL_ONLY 我有同樣的錯誤,但其餘的似乎正常

DBCC CHECKDB (‘myDatabase’) WITH ESTIMATEONLY :

9357520 Kb => 9 357,52 Mb

選擇總和(unallocated_extent_page_count)作為

$$ free pages $$, (SUM(unallocated_extent_page_count)*1.0/128) AS$$ free space in MB $$ FROM sys.dm_db_file_space_usage;

可用空間(MB):30 389 Mb

DBCC SQLPERF(日誌空間)

tempbd:- 日誌大小:13 299 Mb - 已用空間(%):0.01%

我不知道為什麼這不起作用

編輯:當我嘗試 xcopy(數據庫離線)時,我收到此錯誤:

目標卷不支持符號連結

我解決了我的問題:由於 CHECKDB 沒有給我發送任何異常資訊,我決定一一導出表。並且有一個表不想以完全相同的錯誤導出。這是一個臨時表,我將其刪除,現在一切正常。(注意:DBCC TABLE 返回相同的錯誤:“收集事實時發生錯誤。tempdb 中空間不足或系統表不一致”)

它是物理伺服器還是虛擬伺服器?請在儲存數據庫的文件系統上創建一個 chkdsk。

也請嘗試使用 CONTINUE_AFTER_ERROR 的備份數據庫:

BACKUP DATABASE AdventureWorks2012   
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'  
  WITH CHECKSUM, CONTINUE_AFTER_ERROR;  
GO  

更多關於這裡的資訊:

https://docs.microsoft.com/de-de/sql/relational-databases/backup-restore/specify-if-backup-or-restore-continues-or-stops-after-error

問候, 比約恩

引用自:https://dba.stackexchange.com/questions/191728