Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Microsoft distribuisce le correzioni Microsoft SQL Server 2008 come un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio delle correzioni per tutte le correzioni fornite con il precedente 2008 di SQL Server.

Sintomi

Si dispone di un pacchetto di Microsoft SQL Server 2008 Integration Services (SSIS 2008). Il pacchetto contiene un'attività flusso di dati. Quando si esegue il pacchetto su un server che si trova sotto una condizione di memoria insufficiente, si verifica una violazione di accesso e quindi il processo in esecuzione SSIS 2008 si blocca. Inoltre, viene visualizzato avvisi relativi a memoria che è simile al seguente nel registro applicazione 2008 SSIS:

Nome dell'evento: OnInformation

Descrizione: Gestione buffer non riuscita di una chiamata di allocazione di memoria per 10484760 byte, ma non è riuscita a scambiare tutti i buffer per alleggerire la pressione della memoria. buffer 305 e 295 sono stati bloccati. Memoria insufficiente è disponibile per la pipeline, poiché non è sufficiente vengono installati, sono stati utilizza altri processi oppure troppi buffer sono bloccati.



Nome dell'evento: OnInformation


Descrizione: Gestione buffer è allocata 10485608 byte, anche se è stata rilevata la pressione della memoria e tentativi ripetuti di scambiare i buffer non sono riuscita.



Nota: I diversi processi di runtime di eseguire i pacchetti SSIS 2008 sono DTExec.exe, DTSHost.exe o DTSDebugHost.exe. Il processo che esegue il pacchetto SSIS 2008 è determinato secondo le condizioni che contiene il pacchetto sotto. Pacchetti padre viene eseguito il processo di DTExec.exe. Pacchetti figli viene eseguito il processo di DTSHost.exe. Pacchetti che sono sottoposte al debug da Business Intelligence Design Studio viene eseguito il processo di DtsDebugHost.exe.

Causa

SSIS 2008 viene notificato che il server sia in una condizione di memoria insufficiente. Quando sono disponibili solo 128 megabyte (MB) da 256 MB di memoria, si verifica una condizione di memoria insufficiente. Quindi, il processo di runtime SSIS 2008 inizia scambiare i buffer della pipeline del flusso di dati nella cartella temporanea specificata dalla proprietà BufferTempStoragePath .


Nel caso menzionato nella sezione "Sintomi", i dati in un buffer vengono copiati internamente un buffer di destinazione tramite una trasformazione. Ad esempio, i dati in un buffer vengono copiati da una trasformazione Merge Join. Questa operazione si verifica quando il server è in una condizione di memoria insufficiente. Tuttavia, la trasformazione non riconosce che un thread di fuori della trasformazione swapping improvvisamente il buffer di destinazione. Pertanto, l'operazione di copia ha esito negativo e quindi comporta la violazione di accesso.

Risoluzione

Questo hotfix consente di bloccare il buffer di destinazione in modo esplicito durante un'operazione di copia. Questo comportamento impedisce la sostituzione dei buffer di destinazione durante l'esecuzione dell'operazione di copia di altri thread.
La correzione di questo problema è stata rilasciata prima 6 aggiornamento cumulativo per SQL Server 2008 Service Pack 1. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

977443 cumulativo aggiornamento 6 per SQL Server 2008 Service Pack 1Nota: Poiché le versioni sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e rilascio delle correzioni per tutte le correzioni fornite con il precedente 2008 di SQL Server. Si consiglia di considerare l'ipotesi di applicare la versione più recente contenente tale hotfix. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

970365 versioni di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 1
Aggiornamenti rapidi di Microsoft SQL Server 2008 vengono creati per service pack specifici di SQL Server. È necessario applicare un hotfix di SQL Server 2008 Service Pack 1 a un'installazione di SQL Server 2008 Service Pack 1. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack di SQL Server è incluso nel prossimo service pack di SQL Server.

Soluzione alternativa

Per risolvere questo problema, risolvere la condizione di memoria insufficiente. La quantità di memoria che può scatenare il problema varia per diversi computer. In genere, questo importo è compreso tra 32 e 64 MB. Pertanto, si consiglia di configurare il server per allocare più di 64 MB di memoria disponibile per il 2008 SSIS.

Varia la quantità predefinita di memoria disponibile che segnala un evento di notifica di risorse di memoria insufficiente. La memoria disponibile è compreso tra 32 MB e 64 MB per ogni 4 gigabyte (GB). Questo problema è difficile da evitare perché è soggetto a memoria disponibile sui server di produzione. Inoltre, è possibile ridurre memoria per vari altri motivi. Per ulteriori informazioni su notifiche di risorse di memoria, visitare il seguente sito Web Microsoft Developer Network (MSDN):

Funzione che crea oggetti di notifica di risorse di memoriaPer ridurre la frequenza di questo problema, utilizzare uno dei metodi descritti di seguito.

Metodo 1

Aggiungere altra memoria fisica al computer.

Metodo 2

Eseguire il pacchetto SSIS 2008 in un computer che non è in esecuzione un'istanza di SQL Server.

Metodo 3

Quando si esegue il pacchetto SSIS 2008, è possibile impostare l'opzione quantità massima di memoria server per l'istanza di SQL Server 2008 su un valore inferiore. Questo comportamento aumenta la memoria disponibile.

Metodo 4

Chiudere le applicazioni che utilizzano grandi quantità di memoria quando si esegue il pacchetto SSIS 2008 che contiene le attività del flusso di dati.


Metodo 5

Esegue il pacchetto SSIS 2008 e le attività del flusso di dati in serie anziché in parallelo per ridurre l'utilizzo della memoria.


Metodo 6

Utilizzare il metodo descritto nella sottosezione "Come monitorare il consumo di memoria per SSIS" della sezione "Informazioni" per risolvere la condizione di memoria insufficiente. Quindi, ottimizzare l'utilizzo di memoria per il 2008 di SSIS.

Stato

Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".

Ulteriori informazioni

Come monitorare il consumo di memoria per SSIS

Monitorare la memoria per misurare l'utilizzo di picco per diversi processi in fase di esecuzione di SQL Server Integration Services calcolare l'utilizzo di memoria massima


Monitorare l'utilizzo della memoria di picco dei vari processi in fase di esecuzione SQL Server Integration Services (SSIS) utilizzando il
Byte privati
il contatore del
Processo
oggetto Performance Monitor. Il processo di DTExec.exe e il processo di DTSHost.exe sono esempi di processi in fase di esecuzione SSIS.


Quando i pacchetti SSIS in esecuzione, individuare il valore massimo per il
Byte privati
contatore. Quando più pacchetti in esecuzione in parallelo, sommare i valori massimi di tutti i processi in eseguono per ottenere il valore massimo per l'utilizzo della memoria.

Monitorare i processi esterni per individuare i picchi e valli


Monitorare l'utilizzo della memoria di picco di processi di fuori di SQL Server e il servizio SSIS utilizzando il
Byte privati
il contatore del
Processo
oggetto Performance Monitor. Cercare gli orari di utilizzo massimo che possono ridurre la memoria disponibile per SSIS. Ad esempio, le ore di punta sono quando più utenti utilizzano Remote Desktop Protocol (RDP) per connettersi al server o quando è in esecuzione il software di backup.

Monitorare l'utilizzo della memoria di SQL Server per trovare i picchi e valli


Se il messaggio "Using bloccato pagine per pool di buffer" non è presente nel file di log di errore più recente, il
Byte privati
contatore per il processo di Sqlservr.exe può indicare la quantità di memoria viene consumata dai servizi di SQL Server.



Se il messaggio "Using bloccato pagine per pool di buffer" viene incluso nel file di registro più recente di errore, utilizzare il
Memoria totale del Server (KB)
il contatore del
Di SQL Server: Gestore della memoria
oggetto prestazione per misurare l'utilizzo della memoria del pool di buffer di SQL Server. Inoltre, utilizzare il
Byte privati
contatore per il processo di Sqlservr.exe trovare le allocazioni di memoria di fuori del pool di buffer (MemToLeave). La somma del valore del contatore Total Server Memory (KB) e il valore MemToLeave è una buona stima della quantità totale di memoria che utilizza SQL Server.



Performance Monitor e Task Manager non è disponibile la memoria utilizzata da queste pagine del pool di buffer quando si verifica una delle seguenti condizioni:

  • Il
    Diritto utente Lock Pages in memoria viene assegnato all'account di avvio del servizio SQL Server.

  • Il
    AWE
    la memoria è attivata.

Nota
Quando una delle seguenti condizioni è true, il
Byte privati
contatore per il processo di Sqlservr.exe deve indicare la quantità di memoria viene consumata dai servizi di SQL Server per diverse istanze di SQL Server.

Monitorare il valore minimo di memoria disponibile in Windows


Per monitorare la quantità di memoria è disponibile in Windows, utilizzare uno dei seguenti metodi:

  • Utilizzare il
    MByte disponibili
    contatore di Performance Monitor per indicare la quantità di memoria disponibile.

  • Visualizzazione di
    Liberare la memoria fisica (MB):
    valore nella scheda prestazioni di Task Manager.


    Nota
    In alcuni sistemi operativi, la Memoria fisica (MB): libero
    valore è identificato come il valore Fisico della memoria (K) – disponibile .

Riferimenti

Per informazioni sul modello di manutenzione incrementale per SQL Server, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

935897 un modello di manutenzione incrementale è disponibile dal team di SQL Server per offrire gli hotfix per i problemi segnalati



Per ulteriori informazioni sullo schema di denominazione per gli aggiornamenti di SQL Server, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

822499 Nuovo schema di denominazione per i pacchetti di aggiornamento software di Microsoft SQL Server

Per ulteriori informazioni sulla terminologia degli aggiornamenti software, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

824684 descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×