Мне бы очень понравился совет, чтобы предоставить некоторую справочную информацию, с которой я работаю, вставляя журналы отслеживания сообщений из Exchange 2007 в SQL. Поскольку у нас есть миллионы и миллионы строк в день, я использую оператор Bulk Insert для вставки данных в таблицу SQL.
Фактически, я действительно Bulk Insert в временную таблицу, а затем оттуда Я СООБЩАЮ данные в таблицу live, это для проблем с анализируемым анализом, поскольку определенные поля в противном случае имеют кавычки и такие значения вокруг значений.
Это хорошо работает, за исключением того факта, что столбец адреса получателя - это поле с разделителями, разделенное символом 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 даже на 28K-записих навсегда обрабатывался, мне нужно что-то, что будет работать как можно быстрее/эффективнее.
Спасибо!