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

Сводка: DBCC CHECKDB, DBCC, tietokannan korjaus, tietokanta, vioittunut tietokanta

Данная статья применяется к Данная статья не применяется к Эта статья не привязана к какому-либо конкретному продукту. В этой статье указаны не все версии продуктов.

Симптомы

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

Причина

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

Разрешение

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

Затронутые продукты

Dell Quickstart Data Warehouse Appliance, Prosupport for Microsoft Software
Свойства статьи
Номер статьи: 000134529
Тип статьи: Solution
Последнее изменение: 18 Mar 2025
Версия:  5
Получите ответы на свои вопросы от других пользователей Dell
Услуги технической поддержки
Проверьте, распространяются ли на ваше устройство услуги технической поддержки.