Může dojít ke snížení výkonu dotazu po provedení určité operace údržby databáze nebo běžný transakce operací v SQL Server 2005

Chyba č: 329155 (SQLBUDT)
Chyba č: 329155 (sledování SQL vadu BU)BUG #: 54582 (Údržba obsahu)

Příznaky

V Microsoft SQL Server 2005 může dojít ke snížení výkonu dotazu po provedení určité operace údržby databáze nebo běžný transakce operací. Například můžete si všimnout náhlé snížení výkonu dotazu po obnovení zálohy databáze.

Počínaje SQL Server 2005 Service Pack 2, můžete všimnout zprávy podobné následující v protokolu chyb serveru SQL Server při výskytu tohoto problému:
06:03:29.330 2006-10-15 spid59 SQL Server zjistil 4 výskytů cachestore vyprázdnění, pro objekt plány cachestore (část plánu mezipaměti) kvůli některé databáze údržby nebo překonfigurovat operací.

06:03:29.420 2006-10-15 spid59 SQL Server zjistil 4 výskytů cachestore vyprázdnění, pro cachestore SQL plány (součást mezipaměti plán) kvůli některé databáze údržby nebo překonfigurovat operací.
06:03:29.420 2006-10-15 spid59 SQL Server zjistil 4 výskytů cachestore vyprázdnění, pro "vázaný stromy cachestore (část plánu mezipaměti) kvůli některé databáze údržby nebo překonfigurovat operací.
Můžete však spustit příkazu DBCC FREEPROCCACHE nebo příkazu DBCC FREESYSTEMCACHE vyprázdnění mezipaměti postup. Vyprázdnění mezipaměti postup spuštěním jeden z těchto příkazů, jsou patrné zprávy podobné následující v protokolu chyb serveru SQL Server:
11:37:03.57 2006-12-14 spid53 SQL Server zjistil 1 výskytů cachestore vyprázdnění pro cachestore SQL plány (součást mezipaměti plán) kvůli 'DBCC FREEPROCCACHE' nebo 'DBCC FREESYSTEMCACHE' operací.
11:37:03.57 2006-12-14 spid53 SQL Server zjistil 1 výskytů cachestore vyprázdnění pro 'vázaný stromy cachestore (část plánu mezipaměti) kvůli 'DBCC FREEPROCCACHE' nebo 'DBCC FREESYSTEMCACHE' operací.
Proto můžete zkoumat protokolu chyb serveru SQL Server Chcete-li zjistit, zda je problém způsoben problém popsaný v tomto článku.

Poznámka: K tomuto chování nedochází v Microsoft SQL Server 2008.

Příčina

K tomuto problému dochází, protože určité operace údržby databáze nebo běžný transakce operací vymazání mezipaměti celý postup.

Stav

Toto chování je záměrné.

Další informace

Mezipaměť celý postup je vymazána při určité úrovně operace databáze jsou provedeny v následujících scénářích:
  • Databáze má možnost AUTO_CLOSE databáze nastaven na ON. Pokud žádné připojení uživatele odkazuje nebo používá databázi, úloha pozadí pokusí zavřete a automatické vypnutí databáze.
  • Můžete spustit několik dotazů proti databázi, která má výchozí možnosti. Potom je zrušen databáze.
  • Snímek databáze pro zdrojové databáze je zrušen.

    Poznámka: Databáze snímky jsou dostupné pouze v aplikaci Microsoft SQL Server 2005 Enterprise Edition.
  • Můžete změnit stav databáze OFFLINE nebo ONLINE.
  • Úspěšně znovu vytvořit protokol transakce pro databázi.
  • Obnovení zálohy databáze.
  • Spuštění příkazu DBCC CHECKDB.

    Poznámka: To platí pouze ve verzích serveru SQL Server 2005, které jsou starší než SQL Server 2005 SP2. Po instalaci serveru SQL Server 2005 SP2 nebo novější verze do mezipaměti celý postup není vyprázdněna při spuštění příkazu DBCC CHECKDB.
  • Odpojíte databázi.
  • Při spuštění příkazu ALTER DATABASE zadejte jednu z následujících možností:
    • V REŽIMU OFFLINE
    • ONLINE
    • UPRAVIT SKUPINA SOUBORŮ VÝCHOZÍ.
    • MODIFY_NAME
    • UPRAVIT SKUPINA SOUBORŮ READ_WRITE
    • KOMPLETOVÁNÍ
    • UPRAVIT SKUPINA SOUBORŮ READ_ONLY
    • READ_ONLY
    • READ_WRITE
  • Mezipaměti celý postup není zaškrtnuto, pokud se změní některou z následujících možností serveru změňte konfiguraci příkazem:
    • křížové db vlastnictví zřetězení
    • Vytvoření indexu paměti (KB)
    • časový limit vzdálené dotazu (s)
    • Možnosti uživatele
    • velikost repl maximální textu (B)
    • Prahová hodnota nákladů pro paralelnost
    • Maximální stupeň paralelismu
    • min paměti za dotaz (KB)
    • čekání dotazu (s)
    • min paměti serveru (MB)
    • maximální serveru paměti (MB)
    • omezení nákladů guvernér dotazu
    Poznámka: Postup mezipaměti nebude vymazán, pokud skutečná hodnota se nezmění nebo novou hodnotu pro možnost maximální serveru paměti serveru je nastavena na hodnotu 0.
Pokud k tomuto problému dochází při použití sledování výkonu k shromažďování dat z čítače výkonu SQL Server 2005 oznámení změny následujících hodnot:
  • Objekt sledování výkonu: Proces
    Čítač: % času procesoru
    Instance: sqlservr

    Hodnota tohoto čítače se zvýší z důvodu zvýšení aktivity procesoru. V podstatě mezipaměti celý postup není zaškrtnuto, pokud k tomuto problému dochází. Následné požadavky proto musí vygenerovat nové plány v mezipaměti. Toto chování se mírně zvýší aktivity procesoru.
  • Objekt sledování výkonu: SQLServer:Plan mezipaměti
    Čítač: Počet objektů mezipaměti
    Instance: _Total

    Objekt sledování výkonu: SQLServer:Plan mezipaměti
    Čítač: Ukládání stránek do mezipaměti
    Instance: _Total

    Hodnoty těchto čítačů náhle sníží.

    Poznámka: Pro pojmenované instance serveru SQL Server 2005 je objekt sledování výkonu s názvem MSSQL$Název_instance: plán mezipaměti.
  • Objekt sledování výkonu: Statistiky SQLServer:SQL
    Čítač: SQLCompilations za sekundu

    Po tomto incidentu výrazně zvýší hodnotu tohoto čítače.

    Poznámka: Pro pojmenované instance serveru SQL Server 2005 je objekt sledování výkonu s názvem MSSQL$Název_instance: SQL Statistika.
Pokud zachytíte SQL Profiler trasování pomocí události SP:CacheRemove , zjistíte, tato událost je generována s následující hodnoty sloupec TextData při výskytu tohoto problému:
"Vyprázdnění mezipaměti celý postup"
Vlastnosti

ID článku: 917828 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor