DBCC CHECKDB SQL Serverデータベースの破損のトラブルシューティング

Summary: DBCC CHECKDB, DBCC, データベース修復, データベース, 破損したデータベース

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

トピック: MS SQL Serverデータベースが破損しており、安定性と整合性を維持するために修復する必要があります。

Cause

MS SQL Serverデータベース、ログ、アプリケーション ファイルへのソフトウェア破損。

Resolution

DBCCは、Microsoft SQL Serverデータベースのチェックと修復を目的として設計されたMicrosoft SQL Serverのネイティブ ツールです。  この文書では、DBCC CHECKDBコマンドと、データベースの論理および物理整合性をチェックする際のオプションについて説明します。

DBCC CHECKDB情報

DBCC CHECKDB(Transact-SQL):

https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15このハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。

DBCC CHECKDBを実行する手順:

  1. SQL Server Studio管理を開く
  2. クエリ ウィンドウを開く
  3. 「DBCC CHECKDB (Database Name)」と入力します

DBCC CHECKDB実行の結果
 

        4.クエリ結果の下部近くで、割り当てエラーと整合性エラーを確認します。 
        5.  割り当てと整合性エラーが結果に表示される場合は、データベースをバックアップからリストアするか、DBCC CHECKDBを使用してデータベース修復を実行する必要があります。          

DBCC修復オプション

  1. 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

DBCC CHECKDBを使用するタイミングに関する情報

Affected Products

Dell Quickstart Data Warehouse Appliance, Prosupport for Microsoft Software
Article Properties
Article Number: 000134529
Article Type: Solution
Last Modified: 18 Mar 2025
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.