DBCC CHECKDB SQL Server Veritabanı Bozulma sorununu giderme

Samenvatting: DBCC CHECKDB, DBCC, Veritabanı onarımı, veritabanı, bozuk veritabanı

Dit artikel is van toepassing op Dit artikel is niet van toepassing op Dit artikel is niet gebonden aan een specifiek product. Niet alle productversies worden in dit artikel vermeld.

Symptomen

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

Oorzaak

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

Oplossing

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

Getroffen producten

Dell Quickstart Data Warehouse Appliance, Prosupport for Microsoft Software
Artikeleigenschappen
Artikelnummer: 000134529
Artikeltype: Solution
Laatst aangepast: 18 mrt. 2025
Versie:  5
Vind antwoorden op uw vragen via andere Dell gebruikers
Support Services
Controleer of uw apparaat wordt gedekt door Support Services.