Burada bazı tavsiyelerde bulunmak istiyorum, bazı arka plan bilgileri vermek için Exchange 2007'den Message Tracking günlüklerini SQL'e eklemek için çalışıyorum. Günde milyonlarca satırlık milyonlarca değere sahip olduğumuzdan, verileri bir SQL tablosuna eklemek için bir Toplu Ekleme ifadesi kullanıyorum.Bir SQL sütunundaki ayrılmış değerlerin birden çok satır halinde bölünmesi
Aslında, Toplu Tabloyu bir geçici tabloya ekledikten sonra veriyi canlı tabloya BİRLEŞTİRMEKTEDİR, bu, belirli alanlar aksi halde tırnak işaretleri gibi değerler ayrıştırmak gibi test ayrıştırma sorunları içindir.
Alıcı adres sütununun, aşağıdakiler tarafından ayrılmış bir ayrılmış alan olması durumu hariç, bu iyi çalışır; karakteri ve birçok e-posta alıcısı olabileceği gibi bazen çok uzun olabilir.
Bu sütunu almak ve değerleri daha sonra başka bir tabloya eklenecek birden çok satıra ayırmak istiyorum. Sorun, denediğim bir şey ya çok uzun sürüyor ya da istediğim şekilde çalışmıyor.
message-id recipient-address
[email protected] [email protected]
[email protected] [email protected]
4fd70c47.4d6[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected]
kimse bunu hakkında gitmek nasıl hakkında herhangi bir fikir var mı:
message-id recipient-address
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected];[email protected];[email protected]
benim Alıcılar tabloda izlenen bu biçimlendirilmiş istiyorum:
bu örnek verilerini alın ?
PowerShell'i oldukça iyi biliyorum, bu yüzden bunu denedim, ancak 28K kayıtlarında bile bir foreach döngüsünü sonsuza dek sürdürebildi, mümkün olduğunca hızlı/verimli çalışacak bir şeye ihtiyacım var.
Teşekkürler!
Sanırım bir bölme işlevi kullanarak bir tabloya üç sonuç vermelisiniz Buna bak: http: // stackoverflow.com/questions/314824/t-sql-karşı-string-birleştirme-nasıl-split-string-into-multiple-reco Ve bundan sonra sonuç elde etmek için diğer tabloya bölünmüş veri katılmak için yönetebilirsiniz – GregM