komplett Guide för SQL Database Integrity Check
Innehållsförteckning
- om SQL Database Integrity Check
- hur ofta ska du köra Databasintegritetskontroller på SQL Server-databasen?
- Hur kontrollerar du Databasintegritet i SQL Server?
- använd SQL Server Management Studio
- använd kontrollera Databasintegritetsuppgift
- Vad gör du om Databasintegritetskontrollen misslyckas?
- alternativ för att åtgärda SQL Database Consistency fel
- slutsats
om SQL Database Integrity Check
utför integritetskontroller är en del av SQL Server database maintenance plan som hjälper till att säkerställa konsekvens i databasen.
för att vara mer exakt, kör integritetskontroller bidra till att upprätthålla effektiviteten i produktionsdatabasen eller återställd säkerhetskopiering genom att upptäcka konsekvens fel (korruption) i databasen.
hur ofta ska du köra Databasintegritetskontroller på SQL Server-databasen?
att utföra integritetskontroller kan vara en tidskrävande och resurskrävande process. Därför är det viktigt att förstå hur ofta du ska köra integritetskontroller. För att bestämma detta, låt oss ta två exempel:
- din SQL-databas har blivit skadad eller skadad. Du har inga säkerhetskopior. Det enda sättet att återställa databasen är att köra reparationsalternativet, vilket innebär risk för dataförlust. I så fall kan integritetskontroller regelbundet (dagligen eller varje timme) upptäcka databaskorruption tidigt, vilket minimerar dataförlust och driftstopp.
- du har en omfattande databas backup strategi på plats, så att du kan återställa en SQL-databas med ingen eller minimal förlust av data och driftstopp. I så fall kan du överväga att köra integritetskontroller en gång i veckan.
Hur kontrollerar du Databasintegritet i SQL Server?
Följande är de två metoderna för att kontrollera SQL-databas integritet:
Metod 1-Använd SQL Server Management Studio (SSMS)
- öppna SSMS och anslut till din SQL Server-instans.
- från databaser högerklickar du på den databas som du vill utföra integritetskontroller för och klickar sedan på alternativet ny fråga.
- i fönstret Ny Fråga skriver du DBCC CHECKDB och klickar sedan på knappen Kör för att köra frågan.
om du kör frågerapporten” 0 allokeringsfel och 0 konsistensfel ” betyder det att databasen är frisk. Om det rapporterar konsekvensfel, kontrollera den rekommenderade miniminivån för reparation som du behöver utföra längst ner i meddelandesammanfattningen (se bilden nedan):
Figur 1-exekvera DBCC CHECKDB för att köra Databasintegritetskontroll
Metod 2-Använd Check database Integrity Task
följ dessa steg för att kontrollera db integrity med ’Check Database Integrity Task’ i SQL Server Integration Services (SSIS):
- öppna SQL Server Data Tools (SSDT).
- i fönstret som öppnas klickar du på Arkiv > nytt > projekt.
- i fönstret Nytt projekt som visas väljer du Integration Services Project och klickar sedan på OK.
- under SSIS Toolbox, under andra uppgifter, dubbelklicka på alternativet Kontrollera Databasintegritetsuppgift. Uppgiften hjälper till att verifiera databasobjektens logiska och fysiska integritet.
- dubbelklicka på rutan Kontrollera Uppgiftsintegritet för databasen. Detta öppnar ett popup-fönster för kontroll av Databasintegritet. I det här fönstret skapar du en ny anslutning genom att klicka på knappen Ny.
- i dialogrutan Anslutningsegenskaper som öppnas anger du anslutningsnamn, namnet på din SQL Server och väljer Windows-autentiseringsmetod (rekommenderad). Klicka på OK.
- klicka på rullgardinspilen bredvid textrutan databas(er):. Välj en eller flera databaser som du vill köra integritetskontroller för. Tryck på OK.
- du kan valfritt klicka på Visa T-SQL-knappen för att visa DBCC CHECKDBA-uttalandet för att utföra en schemalagd integritetskontroll på de valda databaserna.
Obs: markera kryssrutan ’Inkludera Index’ Om du också vill utföra integritetskontroller på databasens indexsidor.
- DBCC CHECKDB uttalande för att köra en schemalagd integritetskontroll.
- dubbelklicka på uppgiften Execute T-SQL-satsen och Lägg till uppgifterna med en begränsning.
- klicka på knappen ’starta felsökning’ för att köra paketet ’kontrollera Databasintegritetsuppgift’ för att köra alla uppgifter du har skapat.
uppgifterna visas med grön status om allt är OK.
men ibland kan integritetskontrollerna misslyckas och visa fel. Detta kommer att hända när SQL-databasen är skadad.
Vad ska jag göra om SQL Database Integrity Check misslyckas?
om SQL database integrity check misslyckas på en databas, är det lämpligt att återställa SQL-databasen från den senaste säkerhetskopian. Om du inte har säkerhetskopior kan du utföra databasreparationsprocessen genom att köra DBCC CHECKDB-kommandot med alternativet ’REPAIR_ALLOW_DATA_LOSS’.
Läs detta: hur man reparerar SQL-databas med DBCC CHECKDB-kommandot?
alternativet ’REPAIR_ALLOW_DATA_LOSS’ kan fixa databaskonsistensfel. Det hjälper dock bara att fixa databasens fysiska struktur, inte den interna dataintegriteten. Med andra ord kan körning av DBCC CHECKDB-kommandot med alternativet ’REPAIR_ALLOW_DATA_LOSS’ resultera i dataförlust.
du kan också fixa SQL – databasens konsistensfel genom att köra kommandot ’REPAIR_REBUILD’. Kommandot används vanligtvis för att korrigera problem i icke-grupperade index. Det här alternativet leder inte till dataförlust.
alternativ för att åtgärda SQL Database Consistency fel
om exekvering av DBCC CHECKDB kommandot misslyckades med att bevara dataintegritet och konsekvens i din SQL Server-databas, kan du använda en alternativ SQL Database Repair Tool, till exempel Stellar Repair för MS SQL för att lösa problemet.
programvaran reparerar allvarligt skadade SQL – databas MDF / NDF-filer samtidigt som dataintegriteten bevaras. Det kan fixa korruption i SQL-databaser på både Windows och Linux-system. SQL repair tool kan återställa alla databasobjekt, inklusive borttagna tabellposter för SQL version 2019, 2017, 2016 och tidigare versioner.
slutsats
när du kör SQL Server kontrollera databas integritet regelbundet för att säkerställa att databasen är frisk och inte är skadad. I den här artikeln beskrivs de steg du behöver utföra i SSIS för att utföra integritetskontroller på en SQL Server-databas. Det diskuteras också med kommandot DBCC CHECKDB med reparationsalternativ när din integritetskontroll misslyckas. Men att utföra DBCC CHECKDB med kommandot ’REPAIR_ALLOW_DATA_LOSS’ kan leda till dataförlust och orsaka inkonsekvensfel. I så fall är ett bättre alternativ att använda Stellar Repair för MS SQL för att fixa databasens konsistensfel utan risk för dataförlust.