Optymalizacja wydajności DBCC CHECKDB

DBCC CHECKDB i pokrewne instrukcji zazwyczaj musi odczytać przydzielonego strona z dysku do pamięci tak, aby mogły być kontrolowane.Dlatego DBCC CHECKDB uruchomiony, gdy jest już dużej aktywności w systemie obniża wydajność DBCC dwóch powodów.Po pierwsze, dostępne jest mniej pamięci i Aparat baz danych programu SQL Server jest zmuszony do buforowania niektóre dane wewnętrzne DBCC CHECKDB do tempdb bazy danych.Po drugie DBCC CHECKDB próbuje zoptymalizować sposób, że odczytuje dane z dysku.Jeśli intensywnego obciążenia również używa tego samego dysku, optymalizacji zostanie znacznie zmniejszona, powodująca wykonanie wolniejsze.

Ponieważ tempdb baza danych znajduje się na dysku, gardło z operacji We/Wy zapisywane są dane z dysku i obniża wydajność.Niezależnie od aktywności systemu uruchomienie DBCC CHECKDB przeciwko dużych baz danych (w stosunku do rozmiaru dostępnej pamięci) powoduje, że buforowania tempdb bazy danych.Dlatego tempdb bazy danych powinien być umieszczony na szybkie dysku lub dysków, takie jak urządzenie RAID oddzielnych z baz danych użytkowników.Aby uzyskać więcej informacji, zobacz ALTER DATABASE (Transact-SQL) i RAID.

Ostrzeżenie

Wykonywanie DBCC CHECKDB automatycznie wykonuje DBCC CHECKTABLE dla każdej tabela w bazie danych, jak również DBCC CHECKALLOC i CHECKCATALOG DBCC, eliminując konieczność, aby uruchomić je oddzielnie.