Разделение значений с разделителями в столбце SQL на несколько строк

Мне бы очень хотелось получить несколько советов здесь, чтобы дать некоторую справочную информацию, которую я работаю со вставкой журналов отслеживания сообщений из Exchange 2007 в SQL. Поскольку у нас миллионы строк в день, я использую оператор Bulk Insert для вставки данных в таблицу SQL.

На самом деле я на самом деле массово вставляю данные во временную таблицу, а затем оттуда сливаю данные в оперативную таблицу, это для проблем с анализом теста, так как в некоторых полях есть кавычки и тому подобное вокруг значений.

Это хорошо работает, за исключением того факта, что столбец адрес получателя является полем с разделителями, разделенным символом a; характер, и это может быть невероятно долго иногда, так как может быть много получателей электронной почты.

Я хотел бы взять этот столбец и разбить значения на несколько строк, которые затем будут вставлены в другую таблицу. Проблема в том, что я пытаюсь либо занять слишком много времени, либо не работать так, как я хочу.

Возьмите данные этого примера:

message-id                                              recipient-address
[email protected]   [email protected]
[email protected]     [email protected]
[email protected]              [email protected];[email protected];[email protected]

Я хотел бы, чтобы это было отформатировано, как указано в моей таблице получателей:

message-id                                              recipient-address
[email protected]   [email protected]
[email protected]     [email protected]
[email protected]              [email protected]
[email protected]              [email protected]
[email protected]              [email protected]

У кого-нибудь есть идеи о том, как я могу это сделать?

Я достаточно хорошо знаю PowerShell, поэтому я попробовал это сделать, но цикл foreach даже для 28К записей занял целую вечность, мне нужно что-то, что будет работать максимально быстро / эффективно.

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос