2016-06-02 21 views
1

Ich habe 25 Millionen Datensätze, die jede Woche in SQL Server importiert werden müssen. Ich habe ein SSIS-Paket, das derzeit die Daten lädt, aber es dauert fast 10 Stunden zu laden. Ich möchte Bulk Insert verwenden, aber es hat keine Option, SAS-Dateien zu verwenden.Importieren Sie SAS-Datei mit Masseneinfügung zu SQL Server

Ich schätze es, wenn mir jemand dabei helfen kann.

Danke, ramamosn

+1

Wie werden derzeit auf SQL Server geladen? Verwenden Sie den SAS OLEDB-Treiber oder CosyRoc oder etwas anderes? – Joe

Antwort

0

Der Engpass ist in dem Festschreibungsintervall wahrscheinlich. Standardmäßig führt es je nach Datenbank alle 1000 - 10.000 aus. Setzen Sie in Ihrem libnamedbcommit= auf einen höheren Wert. Ich würde bei 100.000 beginnen. Wenn Sie dbcommit=0 verwenden, wird nur ein Commit ausgeführt. Die andere Option eingestellt ist bulkload=yes

Ihr Code würde wie folgt aussehen:

libname sqlsrv user=scott password=tiger ... bulkload=yes dbcommit=100000; 
    data sqlsrv.mydata; 
     set mydata; 
    run; 

Hier ist ein Link auf die Dokumentation: http://support.sas.com/documentation/cdl/en/acreldb/69039/HTML/default/viewer.htm#p00lgy3xwh61b8n16kffwq3veagu.htm