DBCC CHECKDB SQL Server Veritabanı Bozulma sorununu giderme

요약: DBCC CHECKDB, DBCC, Veritabanı onarımı, veritabanı, bozuk veritabanı

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

증상

Sorun: MS SQL Server veritabanı bozuktur ve kararlılığı ve tutarlılığı korumak için onarın.

원인

MS SQL Server veritabanı, günlükler ve uygulama dosyalarında yazılım bozulması.

해결

DBCC, Microsoft SQL Server Veritabanlarını kontrol etmek ve onarmak için tasarlanmış yerel bir Microsoft SQL Server aracıdır.  Bu makalede DBCC CHECKDB komutu ve veritabanı mantıksal ve fiziksel bütünlüğünü kontrol etme seçenekleri açıklanmaktadır.

DBCC CHECKDB bilgileri

DBCC CHECKDB (Transact-SQL):

https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15Bu köprü bağlantı sizi Dell Technologies dışındaki bir web sitesine yönlendirir.

DBCC CHECKDB'yi çalıştırma adımları:

  1. SQL Server Studio Management'ı açın
  2. Bir sorgu penceresi açın
  3. "DBCC CHECKDB (Veritabanı Adı)" yazın

DBCC CHECKDB çalıştırma sonuçları
 

        4. Ayırma ve tutarlılık hatalarını görmek için sorgu sonuçlarının alt kısmına yakın bir yerde kontrol edin. 
        5.  Sonuçlarda ayırma ve tutarlılık hataları görüntülenirse veritabanı yedekten geri yüklenecek veya DBCC CHECKDB kullanılarak veritabanı onarımı gerçekleştirmelidir.          

DBCC Onarım Seçenekleri

  1. REPAIR_REBUILD: Aşağıdaki komut, veritabanını onarıma izin veren bir moda girer.
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

Aşağıdaki komutu kopyalayın ve doğru veritabanı adını kullanarak sorgu oturumuna yapıştırın:

--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: Aşağıdaki komut veritabanı onarımı gerçekleştirir ve onarım işleminin tamamlanması için veri kaybına neden olabilir.

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

Aşağıdaki komutu kopyalayın ve doğru veritabanı adını kullanarak sorgu oturumuna yapıştırın:

Veritabanı fiziksel disk alanı azaldısa aşağıdaki komutlar kullanışlıdır.

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

Aşağıdaki komutu kopyalayın ve doğru veritabanı adını kullanarak sorgu oturumuna yapıştırın:

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

Aşağıdaki komutu kopyalayın ve sorgu oturumuna yapıştırın ve doğru veritabanı adını girin:

--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'nin ne zaman kullanımıyla ilgili bilgiler

해당 제품

Dell Quickstart Data Warehouse Appliance, Prosupport for Microsoft Software
문서 속성
문서 번호: 000134529
문서 유형: Solution
마지막 수정 시간: 18 3월 2025
버전:  5
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.