Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Symptomy
Jeśli w programie SQL Server jest włączona opcja konfiguracji zgodności typowych kryteriów, może wystąpić spadek wydajności programu SQL Server.
Typowe kryteria zgodności
Po włączeniu opcji zgodności typowych kryteriów w programie SQL Server możesz napotkać obciążenie związane z oczekiwaniem na blokadę i typowe kryteria inspekcji zgodności, gdy wiele równoczesnych uwierzytelnień używa tego samego identyfikatora logowania.
Po włączeniu tej opcji może wystąpić spowolnienie wydajności. Ponadto w statystykach wydajności mogą pojawić się wysokie LCK_M_SCH_M oczekiwania.
LCK_M_SCH_M to blokada modyfikacji schematu, która uniemożliwia dostęp do tabeli podczas wykonywania operacji języka DDL (Data Definition Language). Znajdziesz również zablokowane rekordy procesów, w których LOGIN_STATS tabela w bazie danych master czeka przez długi czas. Ta tabela służy do przechowywania statystyk logowania. Jeśli istnieje wiele logowań i wylogowań, w tej tabeli może występować rywalizacja.
Aby dowiedzieć się, dlaczego LCK_M_SCH_M występuje zdarzenie oczekiwania, uruchom następujące polecenia:
CREATE EVENT SESSION [CreateDumpOnLCKMSCHM] ON SERVER
ADD EVENT sqlos.wait_info(
ACTION(package0.callstack,sqlserver.create_dump_all_threads)
WHERE (([opcode]=('Begin')) AND ([wait_type]=('LCK_M_SCH_M'))))
ADD TARGET package0.event_file(SET filename=N'CreateDumpOnLCKMSCHM',max_file_size=(128))
GO
ALTER EVENT SESSION [TestCreateDump] ON SERVER
STATE = START
GO
WHILE ((SELECT COUNT(1) FROM sys.dm_server_memory_dumps) < 5)
BEGIN
WAITFOR DELAY '00:00:00.100'
END
ALTER EVENT SESSION [CreateDumpOnLCKMSCHM] ON SERVER
STATE = STOP
Po włączeniu zgodności z typowymi kryteriami jest również włączona miara zabezpieczeń o nazwie Residual Information Protection (RIP). Funkcja RIP wymaga zastąpienia alokacji pamięci ze znanym wzorcem bitów, zanim pamięć zostanie ponownie przydzielona do nowego zasobu. W związku z tym w przypadku wielu logowań i wylogowań występuje spadek wydajności pamięci, ponieważ należy zastąpić alokację pamięci.
Rozwiązanie
Jeśli typowe kryteria zgodności nie są rygorystycznymi wymaganiami, rozważ wyłączenie go, aby zmniejszyć nakład pracy związany z inspekcją i zwiększyć wydajność. Aby wyłączyć tę opcję, uruchom następujące polecenia:
sp_configure 'common criteria compliance enabled', 0
GO
RECONFIGURE
GO
Po zmodyfikowaniu konfiguracji uruchom ponownie usługi programu SQL Server, aby zmiany zaczęły obowiązywać.