DBCC CHECKDB 疑難解答 SQL 伺服器資料庫損毀
Resumen: DBCC CHECKDB、DBCC、資料庫修復、資料庫、資料庫損毀
Este artículo se aplica a
Este artículo no se aplica a
Este artículo no está vinculado a ningún producto específico.
No se identifican todas las versiones del producto en este artículo.
Síntomas
問題:MS SQL Server 資料庫損毀,需要修復才能維持穩定性和一致性。
Causa
MS SQL Server 資料庫、記錄和應用程式檔案的軟體損毀。
Resolución
DBCC 是 Microsoft SQL Server 的原生工具,旨在檢查和修復 Microsoft SQL Server 資料庫。 本文探討 DBCC CHECKDB 命令和檢查資料庫邏輯和實體完整性的選項。
DBCC CHECKDB (Transact-SQL):
執行 DBCC CHECKDB 的步驟:
- 開啟 SQL Server Studio 管理
- 開啟查詢視窗
- 在「DBCC CHECKDB (資料庫名稱)」中輸入

4.檢查查詢結果底部附近,查看分配和一致性錯誤。
5. 如果結果中出現分配和一致性錯誤,資料庫應從備份還原,或使用 DBCC CHECKDB 執行資料庫修復。
DBCC 修復選項
- REPAIR_REBUILD:以下命令可讓資料庫處於可修復的模式。
USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012, REPAIR_REBUILD) GO ALTER DATABASE TSQL2012 SET MULTI_USER; GO
複製以下命令,然後貼至輸入正確資料庫名稱的查詢工作階段:
--Command below performs a Database repair not allowing Data loss USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012,REPAIR_REBUILD) GO ALTER DATABASE TSQL2012 SET MULTI_USER; GO
2.REPAIR_ALLOW_DATA_LOSS:以下命令可執行資料庫修復,並可能導致數據遺失,無法完成修復程式。
--Command below performs a database repair that may result in data loss, --replace TSQL2012 with the database name of database being repaired USE Master GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO DBCC CHECKDB (TSQL2012, REPAIR_ALLOW_DATA_LOSS) GO ALTERDATABASE TSQL2012 SET MULTI_USER GO
複製以下命令,然後貼至輸入正確資料庫名稱的查詢工作階段:
如果資料庫實體磁碟空間執行不足,以下命令會很有用。
--Command below estimates the size TEMPDB must be to complete the DBCC CHECKDB job USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012, REPAIR_REBUILD) WITH ESTIMATEONLY; GO ALTER DATABASE TSQL2012 SET MULTI_USER GO
複製以下命令,然後貼至輸入正確資料庫名稱的查詢工作階段:
--Command below estimates the size TEMPDB must be to complete the DBCC CHECKDB job USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012, REPAIR_REBUILD) WITH ESTIMATEONLY; GO ALTER DATABASE TSQL2012 SET MULTI_USER GO
--Command below will run DBCC CHECKDB without using TEMDB and creating a DB --snapshot. When not using TEMPDB with a DB snapshot all data will be checked in -- the live database not not a database snapshot. USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012, REPAIR_REBUILD) WITH TABLOCK; GO ALTER DATABASE TSQL2012 SET MULTI_USER GO
複製以下命令並貼至查詢工作階段,並輸入正確的資料庫名稱:
--Command below will run DBCC CHECKDB without using TEMPDB and creating a DB --snapshot. When not using TEMPDB with a DB snapshot all data will be checked in ---the live database not a database snapshot. USE Master; GO ALTER DATABASE TSQL2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO DBCC CHECKDB (TSQL2012, REPAIR_REBUILD) WITH TABLOCK; GO ALTER DATABASE TSQL2012 SET MULTI_USER GO

Productos afectados
Dell Quickstart Data Warehouse Appliance, Prosupport for Microsoft SoftwarePropiedades del artículo
Número del artículo: 000134529
Tipo de artículo: Solution
Última modificación: 18 mar. 2025
Versión: 5
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.