PRB: Il log delle transazioni Ripristina Stop risponde con "Minimo query memoria non disponibile" messaggio nel log degli errori

Traduzione articoli Traduzione articoli
Identificativo articolo: 298801 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo č stato archiviato. L?articolo, quindi, viene offerto ?cosė come č? e non verrā pių aggiornato.
Espandi tutto | Chiudi tutto

Sintomi

Quando l'importo di memoria fisica viene modificato dal server in cui viene creato un backup del log delle transazioni al server in cui il ripristino viene elaborato, se un'attivitā di creazione o ricostruzione di indice fa parte di un backup del log delle transazioni, č possibile che venga visualizzato il seguente messaggio di errore e l'operazione di ripristino potrebbe non essere completata:
Pagine NNNN elaborate per il database 'dbname' file 'nomefile' nel file 1.
Questo č combinato con il seguente messaggio di errore nel log degli errori:
2001-03-18 14:13:48.85 spid13 non puō eseguire l'operazione richiesta perché non č disponibile la memoria minima per query. Diminuire il valore configurato per l'opzione configurazione del server 'min memory per query'.
Questo problema si verifica solo quando la memoria fisica del server su cui č stato ripristinato il log delle transazioni č minore di memoria sul server in cui il backup č stato creato.

Cause

L'operazione di ripristino blocco (si blocca) quando la memoria insufficiente per elaborare alcuni record nel registro delle transazioni. Se la creazione dell'indice fa parte del backup sul server su cui č stato creato il backup del log delle transazioni, SQL Server richiede una determinata concessione di memoria per eseguire operazioni di ordinamento. Durante il ripristino del log delle transazioni stesso, SQL Server tenta di acquisire la stessa quantitā esatta di memoria per completare l'operazione di ordinamento indice č stata registrata nel backup del log delle transazioni. Se non si riceve la concessione di memoria, il thread che sta tentando di eseguire l'ordinamento indice causa il messaggio di errore e il thread non termina correttamente. Il thread principale attende sul thread che sta eseguendo l'ordinamento per la restituzione di un timeout infinito.

Workaround

Per aggirare questo problema, attenersi alla seguente procedura:
  1. Aggiungere RAM al server in cui i registri vengono ripristinati per fornire la memoria necessaria per elaborare la creazione di indice durante il ripristino del registro delle transazioni č necessaria.
  2. Eseguire un backup completo o differenziale per riavviare la sequenza di backup.

Informazioni

Un'operazione di ripristino in SQL Server 7.0 utilizza due thread:

thread principale

- e -

thread in background

Il thread principale legge il log registra e li per il thread di lavoro per l'elaborazione di ripristino. Il thread di lavoro in background č responsabile di eseguire le istruzioni che vengono passate dal thread principale. Tra le operazioni vi sono un ordinamento di indice, cosė come altre operazioni.

Se Creazione dell'indice č coinvolto in SQL Server 7.0, anziché la registrazione di ogni tipo di dati modificare i registri di SQL Server i seguenti componenti della creazione indice di chiave o ricreare l'attivitā:
  • Un record del log che indica l'indice per generare o rigenerare
  • Record di log che indicano quali extent nel database utilizzati per ordinare e gestire le informazioni sull'indice
  • Record di log che indicano la memoria per completare le operazioni di ordinamento
La registrazione di questi componenti chiave consente il ripristino di una creazione dell'indice per eseguire l'ordinamento effettivo nuovamente durante un ripristino ma riutilizzare il footprint di estensione fisica esatta stesso per associare l'attivitā di creazione indice originale. Questa operazione viene eseguita per evitare la registrazione di ogni modifica di che una creazione di indici esegue a un livello di riga. Per ripristinare la creazione dell'indice durante un ripristino, una quantitā fissa di memoria č necessario eseguire l'ordinamento dell'indice. Se questa memoria non č disponibile durante il ripristino, nel thread che sta eseguendo le operazioni di ordinamento, quali risultati in thread in background non termina correttamente e il principale thread attende all'infinito il thread in background completare di ripristino si verifica un errore di eccezione. Si consideri, ad esempio, una situazione in cui un database viene eseguito il backup nell'ambiente di produzione in un computer che dispone di 256 MB RAM e viene ripristinato in un altro server con 128 MB di RAM per il test. Se un backup del log delle transazioni comporta la creazione dell'indice o la ricostruzione di un indice nel server di backup, il backup del log delle transazioni include le voci minime per trasmettere la creazione o ricostruzione dell'indice. Durante il ripristino, il record di log viene letto per trovare la memoria utilizzata dall'ordinamento sul computer in cui č stato creato il backup. SQL Server tenta quindi di ottenere questo dalla memoria del computer ripristino query. La memoria massima query č in genere limitata a circa metā della memoria totale di SQL Server. In un computer con 128 MB, ad esempio, questo č di circa 64 MB. Se 64 MB non puō essere fornito per l'ordinamento durante un ripristino, SQL Server genera un errore di eccezione nel thread in background, in modo che il thread principale attende all'infinito.

Verrā visualizzato lo stesso comportamento sullo stesso server solo se la memoria fisica disponibile sul server quando viene creato il backup č diversa dalla memoria fisica disponibile sul server durante il ripristino.

Proprietā

Identificativo articolo: 298801 - Ultima modifica: martedė 11 febbraio 2014 - Revisione: 1.1
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 7.0 Standard Edition
Chiavi: 
kbnosurvey kbarchive kbmt kbprb KB298801 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: 298801
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