Symptomy
Domyślnie pośrednie punkty kontrolne są włączone dla bazy danych tempdb w Microsoft SQL Server 2016 i 2017. W warunkach dużego obciążenia pracą może wystąpić błąd harmonogramu "Bez plonowania", a sys.dm_os_spinlock_stats DMV pokazuje podwyższoną rywalizację o spinlock dla DP_LIST typu spinlocka.
Stan
Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".
Rozwiązanie
Ten problem został rozwiązany w następujących aktualizacjach zbiorczych dla SQL Server:
Informacje o aktualizacjach zbiorczych dla SQL Server:
Każda nowa aktualizacja zbiorcza dla SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla SQL Server:
Obejście
Aby obejść ten problem, wyłącz pośrednie punkty kontrolne w bazie danych tempdb, używając jednej z następujących instrukcji języka DDL (Data Definition Language).
Należy to zrobić w następujący sposób:
-
W bazie danych modeldb (spowoduje to również zmianę wartości domyślnej dla nowych baz danych) uruchom następującą instrukcję:
ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Lub bezpośrednio w bazie danych tempdb za każdym razem, gdy wystąpienie jest uruchamiane przy użyciu agenta SQL Server przy użyciu następującej instrukcji:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Lub okresowo wydawać ręczne punkty kontrolne dla bazy danych tempdb za pomocą następującej instrukcji:
use tempdb
go checkpoint
go
Ponadto TF 3468 może być używany do wyłączania pośredniego punktu kontrolnego w tempdb.
Informacje
Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania. Aby uzyskać więcej informacji, zobacz następujące artykuły: