2016-04-28 9 views
0

Ich muss große Tabelle (über> 2 TB) von SQL Server 2008 R2 zu Oracle Exadata mit SSIS laden. Ist es möglich, es in einer bestimmten Reihenfolge (basierend auf 1 oder 2 Spalten) zu laden?Lade Tabelle in der bestimmten Reihenfolge

+2

Es ist möglich, die Reihenfolge zu steuern, in der Datensätze zwischen den beiden dbs übergeben werden. Dies ist jedoch möglicherweise nicht die Reihenfolge, in der Oracle die Datensätze speichert. Was möchten Sie erreichen? –

+0

Exadata funktioniert besser (schneller), wenn Sie Daten in einer bestimmten Reihenfolge (in den meisten Fällen - Primär-/Fremdschlüssel) aufgrund von Speicherindizes laden. – PNPTestovir

+1

In Ihrem Datenfluss können Sie einen SQL-Befehl verwenden, um die Quelldaten in der erforderlichen Reihenfolge zurückzugeben. Suchen Sie mit den * OLE DB * - oder * ADO NET * -Quellen nach dem Dropdown-Menü * Datenzugriffsmodus *. –

Antwort

3

Wenn das Laden in der Reihenfolge erforderlich ist, legen Sie auf jeden Fall die ORDER BY in die Abfrage in der Datenquelle (wahrscheinlich OLEDB-Quelle, wenn Ihre Quelle SQL2008R2 ist). Dadurch kann die Datenbank-Engine die Arbeit erledigen.

Die SSIS-Sort-Datenumwandlung ist ein Leistungsengpass, der versucht, im Speicher zu arbeiten und notwendigerweise das gesamte Dataset laden muss, bevor Zeilen ausgegeben werden. Mit der Menge an Daten, über die Sie sprechen, wird die Leistung schrecklich sein.

+0

Ich habe nicht genug RAMs, um es zu tun (es ist mehr als 1 Milliarde Datensätze). Kann ich Clustered Index verwenden? – PNPTestovir

+1

Wenn die ORDER BY in der Abfrage ist, wird * Server * RAM/Tempdb Raum der begrenzende Faktor sein. Hat der Server wirklich keinen RAM mehr? Wenn Sie nicht in Ihrem SSIS-Paket sortieren und immer noch nicht genügend Arbeitsspeicher zur Verfügung steht, ist möglicherweise an einem anderen Ort in Ihrem Paket eine vollständig blockierende Komponente vorhanden, sodass Ihr Client-Computer (Dev-Computer) gezwungen ist, den gesamten Datensatz zu laden. Siehe http://sqlblog.com/blogs/jorg_klein/archive/2008/02/12/ssis-lookup-transformation-is-case-sensitive.aspx – SebTHU

+1

Es wird Speicher auf dem lokalen PC sein, während BIDS (et. al.) Ich würde raten? – BIDeveloper

Verwandte Themen