Ho database cca 25 che ho bisogno di consolidare in 1 database. Per prima cosa ho cercato di costruire un pacchetto SSIS che copiare tutti i dati da ogni tabella in un unico luogo, ma poi ho ottenuto l'errore:SSIS - errore di memoria esaurita
Information: The buffer manager failed a memory allocation call for 10485760 bytes, but was unable to swap out any buffers to relieve memory pressure. 1892 buffers were considered and 1892 were locked. Either not enough memory is available to the pipeline because not enough are installed, other processes were using it, or too many buffers are locked.
poi ho capito questo non è buona idea e che ho bisogno di inserire solo i nuovi record e aggiornare quelli esistenti. Dopo che ho provato questa opzione:
- Ottenere un elenco di tutti i conn. stringhe
- foreach db, copiare nuovi record e aggiornare quelli esistenti (quelli che devono essere aggiornati copia dalla sorgente alla tabella temporanea, eliminarli dalla destinazione e copiare da temp tabella di destinazione)
Ecco come flusso di dati sembra
In alcuni casi i dati fluiscono procceses più di milioni di righe. MA, ho ancora lo stesso errore: esaurito la memoria.
Nel task manager la situazione è la seguente:
devo notare che ci sono 28 banche dati di essere replicati su questo stesso server e quando questo pacchetto non è in esecuzione SQL server utilizza ancora più di 1 GB di memoria. Ho letto che è normale, ma ora io non sono così sicuro ...
Ho installato hotfix per SQL Server ho trovato in questo articolo: http://support.microsoft.com/kb/977190 Ma non aiuta ... Sto facendo qualcosa di sbagliato o questo è solo il modo in cui funzionano le cose e suppongo di trovare una soluzione alternativa?
Grazie,
Ile
cosa hai oscurato? un processo "segreto"? –