Параллельная массовая вставка с помощью SqlBulkCopy и Azure

У меня есть приложение Azure в облаке с базой данных sql azure. У меня есть рабочая роль, которая должна выполнять синтаксический анализ + обработку файла (до ~ 30 миллионов строк), поэтому я не могу напрямую использовать BCP или SSIS.

В настоящее время я использую SqlBulkCopy, но это кажется слишком медленным, поскольку я видел время загрузки до 4-5 минут для 400 тыс. Строк.

Я хочу выполнять мои массовые вставки параллельно; однако при чтении статей об импорте данных при параллельном / контролирующем поведении блокировки говорится, что SqlBulkCopy требует, чтобы таблица не имела кластеризованных индексов и была указана блокировка таблицы (блокировка BU). Однако таблицы Azure должны иметь кластерный индекс ...

Можно ли вообще использовать SqlBulkCopy параллельно в той же таблице в SQL Azure? Если нет, есть ли другой API (который я могу использовать в коде) для этого?

7
задан kyliod 1 March 2012 в 15:55
поделиться