2009-03-17 15 views
6

Ho un pacchetto SSIS con un pacchetto figlio non riuscito. Il messaggio di errore non è molto utile.Esecuzione di pacchetti SSIS in allocazioni di memoria separate o aumento della dimensione del buffer predefinita?

Il tentativo di aggiungere una riga al buffer attività Flusso di dati non riuscita con il codice di errore 0xC0047020

Il problema sembra essere che sono a corto di memoria virtuale per completare il lavoro.

Ho trovato un thread del forum che può aiutare a risolvere il problema. http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/thread/d6d52157-0270-4200-a8c2-585fa9a0eed5/

Dalle soluzioni offerte sono incerto se come:

  1. aumento dimensione del buffer di default
  2. allocare una pacakage bambino in essa la propria allocazione di memoria.

Sto eseguendo il pacchetto quotidianamente in SQL Server 2005. Continuavo a funzionare giornalmente fino al 12. Sto assumendo che il file dat che stiamo usando per importare i dati nel database sia cresciuto in una dimensione che era troppo grande per il database da gestire. Tuttavia è solo un file csv di 8,90 MB. L'importazione è un'importazione diretta da colonna a colonna.

Il pacchetto figlio di problema è il passaggio 1 e non riesce e continua e completa correttamente i successivi 8 passaggi.

risposta

4

Quanta memoria è allocata a SQL Server? Quanta memoria è allocata al di fuori dello spazio di elaborazione di SQL Server?

La ragione per cui lo chiedo è perché la memoria SSIS viene allocata dall'area memToLeave della memoria che si trova al di fuori dello spazio del processo di SQL Server.

Vedere here per dettagli sulla configurazione della quantità di memoria disponibile per la porzione di memoria memToLeave.

Per l'ottimizzazione delle prestazioni generica di SSIS consultare il seguente articolo.

http://technet.microsoft.com/en-gb/library/cc966529.aspx

Spero che questo ha un senso ma sentitevi liberi di scrivermi una volta che avete digerito il materiale.

Cheers,

+0

FYI, il link "qui" è morto. –

1

pensiero a caso: perdita di memoria?

Il nostro gruppo prod (grande corporatebbuild) era SQL 2005 SP1. Perdite di memoria, riavvio necessario ogni 1-4 settimane.

SP2 + HF 3068: fissato

1

Per modificare la dimensione del buffer, selezionare un'attività Flusso di dati e cambiare DefaultBufferMaxRows, proprietà MaxBufferSize. Insieme determinano la dimensione del buffer.

Nota che nella discussione che hai collegato, l'utente originariamente aumentava la dimensione del buffer (a 100 Mb), che probabilmente causava il problema, e la raccomandazione era di diminuire. La dimensione del buffer di default (10Mb) dovrebbe essere normalmente OK.

Per eseguire il pacchetto figlio in un processo separato, impostare la proprietà ExecuteOutOfProcess dell'attività Esegui pacchetto (nel pacchetto principale).

Ma prima di tutto: assicurati di essere davvero in esecuzione di memoria virtuale, non di memoria reale, che di solito è più probabile. Guarda il task manager nei processi che consumano memoria su questa macchina.

Problemi correlati