DBCC CHECKDB: SQL Server -tietokannan vioittumisen vianmääritys

Sammanfattning: DBCC CHECKDB, DBCC, tietokannan korjaus, tietokanta, vioittunut tietokanta

Den här artikeln gäller för Den här artikeln gäller inte för Den här artikeln är inte kopplad till någon specifik produkt. Alla produktversioner identifieras inte i den här artikeln.

Symptom

Ongelma: MS SQL Server -tietokanta on vioittunut, ja se on korjattava vakauden ja eheyden säilyttämiseksi.

Orsak

Ohjelmisto on vioittunut MS SQL Server -tietokantaan, -lokeihin ja sovellustiedostoihin.

Upplösning

DBCC on Microsoft SQL Serverin sisäinen työkalu Microsoft SQL Server -tietokantojen tarkistamiseen ja korjaamiseen.  Tässä artikkelissa käsitellään DBCC:n CHECKDB-komentoa ja tietokannan loogisen ja fyysisen eheyden tarkistusvaihtoehtoja.

DBCC:n CHECKDB-tiedot

DBCC CHECKDB (Transact-SQL):

https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15Tämä hyperlinkki vie sinut Dell Technologiesin ulkopuoliseen sivustoon.

DBCC CHECKDB -tietokannan suorittaminen:

  1. Open SQL Server Studio Management
  2. Avaa kyselyikkuna
  3. Kirjoita DBCC CHECKDB (database Name)

Tulokset DBCC CHECKDB -tietokannan suorittamisesta
 

        4. Tarkista kyselytulosten alareunasta, onko varaus- ja yhtenäisyysvirheitä. 
        5.  Jos tuloksissa näkyy varaus- ja yhtenäisyysvirheitä, tietokanta on palautettava varmuuskopiosta tai tietokannan on korjattava DBCC CHECKDB -tietokannalla.          

DBCC-korjausvaihtoehdot

  1. REPAIR_REBUILD: Seuraava komento siirtää tietokannan tilaan, jossa korjaus on mahdollista.
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

Kopioi seuraava komento ja liitä se kyselyistuntoon käyttämällä oikeaa tietokannan nimeä:

--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: Seuraava komento korjaa tietokannan ja voi johtaa tietojen menetykseen, jotta korjaus voidaan suorittaa loppuun.

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

Kopioi seuraava komento ja liitä se kyselyistuntoon käyttämällä oikeaa tietokannan nimeä:

Seuraavista komennoista on hyötyä, jos tietokannan fyysisen levyn tila on vähissä.

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

Kopioi seuraava komento ja liitä se kyselyistuntoon käyttämällä oikeaa tietokannan nimeä:

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

Kopioi seuraava komento ja liitä se kyselyistuntoon ja anna tietokannan oikea nimi:

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

Tietoja siitä, milloin DBCC CHECKDB -tietokantaa käytetään

Berörda produkter

Dell Quickstart Data Warehouse Appliance, Prosupport for Microsoft Software
Artikelegenskaper
Artikelnummer: 000134529
Artikeltyp: Solution
Senast ändrad: 18 mars 2025
Version:  5
Få svar på dina frågor från andra Dell-användare
Supporttjänster
Kontrollera om din enhet omfattas av supporttjänster.