Pu˛ verificarsi una diminuzione le prestazioni delle query dopo aver eseguito determinate operazioni di manutenzione del database o le operazioni regolari delle transazioni in SQL Server 2005

Traduzione articoli Traduzione articoli
Identificativo articolo: 917828 - Visualizza i prodotti a cui si riferisce l?articolo.
Bug #: 329155 (SQLBUDT)
Espandi tutto | Chiudi tutto

Sintomi

In SQL Server 2005, potrebbero verificarsi una riduzione delle prestazioni delle query dopo l'esecuzione di determinate operazioni di manutenzione del database o le operazioni regolari delle transazioni. Ad esempio, Ŕ possibile notare una diminuzione improvvisa delle prestazioni di query dopo aver ripristinato un backup del database.

A partire da SQL Server 2005 Service Pack 2, si noterÓ messaggi ad esempio le seguenti operazioni nel log degli errori di SQL Server quando si verifica questo problema:
2006-10-15 06:03:29.330 spid59 Ŕ verificati occorrenze 4 del di svuotamento cachestore per cachestore 'Oggetto piani' (parte della cache del piano) a causa di alcuni database manutenzione o riconfigurare le operazioni.
2006-10-15 06:03:29.420 spid59 Ŕ verificati occorrenze 4 del di svuotamento cachestore per cachestore 'Piani SQL' (parte della cache del piano) a causa di alcuni database manutenzione o riconfigurare le operazioni.
2006-10-15 06:03:29.420 spid59 SQL Server ha rilevato occorrenze 4 del di svuotamento cachestore per il cachestore 'Strutture associato' (parte della cache del piano) a causa di alcuni database manutenzione o riconfigurare le operazioni.
Tuttavia, Ŕ possibile eseguire il comando di DBCC FREEPROCCACHE o il comando DBCC FREESYSTEMCACHE per svuotare la cache delle procedure. Se la cache delle procedure viene svuotata eseguendo uno di questi comandi, si noterÓ messaggi analoghi ai seguenti nel log degli errori SQL Server:
12-2006-14 11:37:03.57 spid53 SQL Ŕ verificato 1 occorrenze di cachestore svuotamento per cachestore 'Piani SQL' (parte della cache del piano) a causa di operazioni 'DBCC FREEPROCCACHE' o 'DBCC FREESYSTEMCACHE'.
12-2006-14 11:37:03.57 spid53 SQL Ŕ verificato 1 occorrenze di cachestore svuotamento per il cachestore 'Strutture associato' (parte della cache del piano) a causa di operazioni 'DBCC FREEPROCCACHE' o 'DBCC FREESYSTEMCACHE'.
Di conseguenza, Ŕ possibile esaminare il log degli errori SQL Server per determinare se il problema Ŕ causato dal problema descritto in questo articolo.

Nota Questo comportamento non si verifica in Microsoft SQL Server 2008.

Cause

Questo problema si verifica perchÚ determinate operazioni di manutenzione del database o le operazioni regolari delle transazioni cancellare la cache di intera procedura.

Status

Questo comportamento legato alla progettazione.

Informazioni

La cache dell'intera procedura viene cancellata quando vengono eseguite determinate operazioni di livello di database nei seguenti scenari:
  • In un database sono l'opzione di database Auto_Close Ŕ impostata su ON. Quando nessuna connessione utente fa riferimento o viene utilizzato il database, l'attivitÓ in background tenta di chiudere e chiudere il database automaticamente.
  • ╚ possibile eseguire pi¨ query in un database contenente le opzioni predefinite. Quindi, viene eliminato il database.
  • Uno snapshot di database per un database di origine viene eliminato.

    Nota Gli snapshot di database disponibili solo in Microsoft SQL Server 2005 Enterprise Edition.
  • Si modifica lo stato del database in non in linea o in linea.
  • ╚ ricreare correttamente del log delle transazioni per un database.
  • Ripristinare un backup del database.
  • ╚ eseguire l'istruzione DBCC CHECKDB.

    Nota Questo Ŕ vero solo nelle versioni di SQL Server 2005 precedenti a SQL Server 2005 SP2. Dopo l'installazione di SQL Server 2005 SP2 o versioni successive, la cache di intera procedura non viene svuotata quando si esegue l'istruzione DBCC CHECKDB.
  • ╚ scollegare un database.
  • Quando si esegue l'istruzione ALTER DATABASE, Ŕ specificare uno delle seguenti opzioni:
    • IN MODALIT└ NON IN LINEA
    • IN LINEA
    • MODIFICARE IL FILEGROUP PREDEFINITO
    • MODIFY_NAME
    • MODIFICARE IL FILEGROUP READ_WRITE
    • FASCICOLA
    • MODIFICARE IL FILEGROUP READ_ONLY
    • READ_ONLY
    • READ_WRITE
  • La cache dell'intera procedura verrÓ eliminata se una delle seguenti opzioni del server viene modificata tramite l'istruzione RECONFIGURE:
    • tra il concatenamento della proprietÓ db
    • index create memory (KB)
    • timeout query remote (s)
    • opzioni utente
    • max text repl dimensioni (B)
    • l'opzione cost threshold for parallelism
    • max degree of parallelism
    • min memory per query (KB)
    • query wait (s)
    • min server memory (MB)
    • max server memory (MB)
    • query governor cost limit
    Nota Se il valore effettivo non viene modificato o se il nuovo valore per l'opzione max server memory in server Ŕ impostato su 0, cache delle procedure non verrÓ cancellata.
Se si verifica questo problema, Ŕ possibile notare le modifiche nei valori riportati di seguito quando si utilizza Performance Monitor per raccogliere dati dai contatori delle prestazioni di SQL Server 2005:
  • oggetto prestazioni: Processo
    contatore: % tempo processore
    istanza: sqlservr

    Il valore di questo contatore aumenta causa di una maggiore attivitÓ della CPU. In sostanza, la cache dell'intera procedura verrÓ eliminata se questo problema si verifica. Di conseguenza, le richieste successive devono generare nuovi piani per essere memorizzati nella cache. Questo comportamento aumenta leggermente attivitÓ della CPU.
  • oggetto prestazioni: Cache SQLServer:Plan
    contatore: Numero di oggetti cache
    istanza: totale

    oggetto prestazioni: Cache SQLServer:Plan
    contatore: Pagine cache
    istanza: totale

    I valori di questi contatori improvvisamente diminuirÓ.

    Nota Per un'istanza denominata di SQL Server 2005, le prestazioni Ŕ denominato MSSQL $ InstanceName: piano cache.
  • oggetto prestazioni: Statistiche SQLServer:SQL
    contatore: SQLCompilations/sec

    Il valore di questo contatore aumenterÓ notevolmente dopo questo incidente.

    Nota Per un'istanza denominata di SQL Server 2005, le prestazioni Ŕ denominato MSSQL $ InstanceName: Statistiche SQL.
Se si acquisisce una traccia di Profiler SQL tramite l'evento SP:CacheRemove , si noterÓ che questo evento viene generato insieme con il valore di colonna TextData seguente quando si verifica questo problema:
"Cancellati intero procedure cache"

ProprietÓ

Identificativo articolo: 917828 - Ultima modifica: martedý 17 febbraio 2009 - Revisione: 7.0
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
Chiavi:á
kbmt kbsql2005engine kbexpertiseadvanced kbtshoot kbprb KB917828 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 917828
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com