DBCC CHECKDB SQL Server Veritabanı Bozulma sorununu giderme

Résumé: DBCC CHECKDB, DBCC, Veritabanı onarımı, veritabanı, bozuk veritabanı

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Symptômes

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

Cause

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

Résolution

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

Produits concernés

Dell Quickstart Data Warehouse Appliance, Prosupport for Microsoft Software
Propriétés de l’article
Numéro d’article: 000134529
Type d’article: Solution
Dernière modification: 18 mars 2025
Version:  5
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.