我真的很想在这里得到一些建议,以提供一些我正在将 Exchange 2007 中的消息跟踪日志插入 SQL 的背景信息。由于我们每天有数以百万计的行,因此我使用批量插入语句将数据插入到 SQL 表中。
实际上,我实际上是批量插入临时表,然后从那里将数据合并到实时表中,这是为了测试解析问题,因为某些字段在值周围有引号等。
这很好用,除了收件人地址列是一个由 ; 分隔的分隔字段之外。字符,有时可能会非常长,因为可能有很多电子邮件收件人。
我想采用这一列,并将值拆分为多行,然后将这些行插入另一个表中。问题是我正在尝试的任何事情要么花费太长时间,要么没有按照我想要的方式工作。
以这个示例数据为例:
message-id recipient-address
2D5E558D4B5A3D4F962DA5051EE364BE06CF37A3A5@Server.com user1@domain1.com
E52F650C53A275488552FFD49F98E9A6BEA1262E@Server.com user2@domain2.com
4fd70c47.4d600e0a.0a7b.ffff87e1@Server.com user3@domain3.com;user4@domain4.com;user5@domain5.com
我希望将其格式化为我的收件人表中的以下内容:
message-id recipient-address
2D5E558D4B5A3D4F962DA5051EE364BE06CF37A3A5@Server.com user1@domain1.com
E52F650C53A275488552FFD49F98E9A6BEA1262E@Server.com user2@domain2.com
4fd70c47.4d600e0a.0a7b.ffff87e1@Server.com user3@domain3.com
4fd70c47.4d600e0a.0a7b.ffff87e1@Server.com user4@domain4.com
4fd70c47.4d600e0a.0a7b.ffff87e1@Server.com user5@domain5.com
有没有人对我如何去做这件事有任何想法?
我非常了解 PowerShell,所以我尝试过,但是即使在 28K 记录上的 foreach 循环也需要很长时间才能处理,我需要能够尽可能快速/高效地运行的东西。
谢谢!