Yürütme planı ve arabellek ayırma

Önce yürütme, veri akışı görevi bileşenlerinden inceler ve bileşenlerinin her sıra için yürütme planı oluşturur.Bu bölüm, yürütme planı ayrıntılarını nasıl sağladığını plandaki görüntülemek ve nasıl giriş ve çıkış arabelleği yürütme planına dayanarak tahsis edilen.

Yürütme planı'nı anlama

Kaynak iş parçacıkları ve çalışma iş parçacıkları yürütme planı içerir ve giriş ve çıkış listeler çalışma iş parçacığı için iş ve her iş parçacığı çıkış iş listeleri kaynak iş parçacıkları için belirttiğiniz çalışma listelerini içerir.Yürütme planı içinde kaynak iş parçacıkları veri akışı kaynak bileşenleri temsil eder ve yürütme planı tarafından tanımlanan SourceThreadn, where n sıfır tabanlı kaynak iş parçacığı sayısıdır.

Her kaynak iş parçacığı bir arabellek oluşturur, dinleyici, ayarlar ve PrimeOutput(Int32, array<Int32[], array<PipelineBuffer[]) Kaynak bileşeni yöntem. Yürütme başlatır ve veri kaynaklandığı, kendisine veri akışı görevi tarafından sağlanan bir çıktı arabelleği için satır ekleme kaynak bileşenini başlatır olarak budur.Çalışan iş parçacıklarının kaynak sonra iş bakiyesini iş, iş parçacığı arasında dağıtılır.

Bir çalışma iş parçacığının iki giriş ve çıkış iş listelerini içerebilir ve yürütme planı tanımlanan WorkThreadn, where n sıfır tabanlı iş parçacığı sayısıdır.Grafik bir zaman uyumsuz çıkışlarını bileşeni içerdiğinde, bu iş parçacığı çıkış iş listeleri içerir.

Aşağıdaki örnek yürütme planı dönüştürme için bir hedef bileşenine bağlı olarak zaman uyumsuz bir çıktı ile bağlı olan bir kaynak bileşeni içeren veri akışı temsil eder.Bu örnekte, zaman uyumsuz bir çıkış dönüştürme bileşeni olduğu için bir Çıkış iş listesi WorkThread0 içerir.

SourceThread0 
    Influences: 72 158 
    Output Work List 
        CreatePrimeBuffer of type 1 for output id 10 
        SetBufferListener: "WorkThread0" for input ID 73 
        CallPrimeOutput on component "OLE DB Source" (1) 
    End Output Work List 
    This thread drives 0 distributors 
End SourceThread0 
WorkThread0 
    Influences: 72 158 
    Input Work list, input ID 73 
        CallProcessInput on input ID 73 on component "Sort" (72) for view type 2 
    End Input Work list for input 73 
    Output Work List 
        CreatePrimeBuffer of type 3 for output id 74 
        SetBufferListener: "WorkThread1" for input ID 171with internal handoff 
        CallPrimeOutput on component "Sort" (72) 
    End Output Work List 
    This thread drives 0 distributors 
End WorkThread0 
WorkThread1 
    Influences: 158 
    Input Work list, input ID 171
        CallProcessInput on input ID 171 on component "OLE DB Destination" (158) for view type 4
    End Input Work list for input 171 
    Output Work List 
    End Output Work List 
    This thread drives 0 distributors 
End WorkThread1

Not

Yürütme planı oluşturulan her bir paket yürütülür ve paket seçme ve günlüğünü etkinleştirmek için bir günlük sağlayıcısı ekleyerek yakalanan PipelineExecutionPlan olay.

Arabellek ayırma anlama

veri akışı görevi üzerinde yürütme planı bağlı olarak, veri akışı bileşenleri çıkışlarını ilgili olarak içinde tanımlanan sütunları içeren arabellekleri oluşturur.Bir zaman uyumsuz çıkışlarını bileşeni karşılaşılana kadar sıra bileşenlerinin üzerinden veri akışı olarak arabelleğin yeniden.Ardından, zaman uyumsuz çıktı çıktı sütunları ve akış yönündeki bileşenlere çıktı sütunlarını içeren yeni bir arabellek oluşturulur.

Yürütme sırasında bileşenleri arabellek geçerli kaynak ya da iş parçacığı parçacığında erişebilirsiniz.Tarafından sağlanan herhangi bir giriş arabellek, arabellek olan ProcessInput(Int32, PipelineBuffer) yöntem veya tarafından sağlanan bir çıkış arabelleği, PrimeOutput(Int32, array<Int32[], array<PipelineBuffer[]) yöntem. The Mode() özellik of the PipelineBuffer also identifies each buffer as an input or output buffer.

Varolan giriş arabelleğinden dönüştürme bileşenleri zaman uyumsuz bir çıkış alırsınız ProcessInput(Int32, PipelineBuffer) yöntem, yeni çıkış arabelleğinden alıp PrimeOutput(Int32, array<Int32[], array<PipelineBuffer[]) yöntem. Bir zaman uyumsuz çıkışlarını dönüştürme bileşeniyle bir girişi hem de bir çıkış arabelleği aldığı veri akışı bileşeni yalnızca türüdür.

Bir bileşen için sağlanan arabellek bulunma olasılığı olduğundan, bileşen'den daha fazla sütun varsa, girdi veya çıktı sütunu topluluklar, bileşen geliştiricileri çağırabileceğiniz FindColumnByLineageID(Int32, Int32) yöntem bir sütun belirterek arabellekte konumunu belirlemek için LineageID.

Integration Services icon (small) Tümleştirme Hizmetleri ile güncel kalın

Karşıdan yüklemeler, makaleleri, örnekler ve en son Microsoft video yanı sıra, seçili topluluğun çözümleri için ziyaret Integration Services sayfa MSDN veya TechNet:

Bu güncelleştirmelerin otomatik bildirim için kullanılabilir RSS akışlarına abone olmak sayfa.