Aracılığıyla paylaş


Veri Akışı Görevi

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı

Veri Akışı görevi, verileri kaynaklar ve hedefler arasında taşıyan veri akışı altyapısını kapsüller ve kullanıcının taşınan verileri dönüştürmesine, temizlemesine ve değiştirmesine olanak tanır. Veri Akışı görevinin paket denetim akışına eklenmesi, paketin verileri ayıklamasını, dönüştürmesini ve yüklemesini mümkün kılar.

Veri akışı en az bir veri akışı bileşeninden oluşur, ancak genellikle bir dizi bağlı veri akışı bileşenidir: verileri ayıklayan kaynaklar; verileri değiştiren, yönlendiren veya özetleyen dönüştürmeler; ve veri yükleyen hedefler.

Çalışma zamanında, Veri Akışı görevi veri akışından bir yürütme planı oluşturur ve veri akışı altyapısı planı yürütür. Veri akışı olmayan bir Veri Akışı görevi oluşturabilirsiniz, ancak görev yalnızca en az bir veri akışı içeriyorsa yürütülür.

Metin dosyalarından SQL Server veritabanına toplu veri eklemek için Veri Akışı görevi ve veri akışı yerine Toplu Ekleme görevini kullanabilirsiniz. Ancak Toplu Ekleme görevi verileri dönüştüremez. Daha fazla bilgi için bkz. Toplu Görev Ekle.

Birden Çok Akış

Veri Akışı görevi birden çok veri akışı içerebilir. Bir görev birkaç veri kümesi kopyalarsa ve verilerin kopyalanma sırası önemli değilse, Veri Akışı görevine birden çok veri akışı eklemek daha kullanışlı olabilir. Örneğin, her biri düz bir dosyadan veri ambarı yıldız şeması içindeki farklı bir boyut tablosuna veri kopyalayan beş veri akışı oluşturabilirsiniz.

Ancak veri akışı altyapısı, bir veri akışı görevi içinde birden çok veri akışı olduğunda yürütme sırasını belirler. Bu nedenle, sıra önemli olduğunda, paket birden fazla Veri Akışı görevi içermelidir; her görev, bir veri akışını barındırır. Daha sonra görevlerin yürütme sırasını denetlemek için öncelik kısıtlamaları uygulayabilirsiniz.

Aşağıdaki diyagramda birden çok veri akışına sahip bir Veri Akışı görevi gösterilmektedir.

Veri akışları

Günlük Girdileri

Integration Services, tüm görevler için kullanılabilen bir dizi log olayı sağlar. Integration Services ayrıca birçok görev için özel günlük girdileri sağlar. Daha fazla bilgi için bkz. Integration Services (SSIS) – Günlüğe Alma. Veri Akışı görevi aşağıdaki özel günlük girdilerini içerir:

Kayıt girişi Description
BufferSizeTuning Veri Akışı görevinin arabellek boyutunu değiştirdiğini gösterir. Günlük girdisi, boyut değişikliğinin nedenlerini açıklar ve geçici yeni arabellek boyutunu listeler.
OnPipelinePostEndOfRowset Bir bileşene, ProcessInput yönteminin son çağrısı tarafından ayarlanan ve satırsonu sinyali olarak adlandırılan bir sinyalin verildiğini belirtir. Girişi işleyen veri akışındaki her bileşen için bir giriş yazılır. Girdi, bileşenin adını içerir.
OnPipelinePostPrimeOutput Bileşenin PrimeOutput yöntemine son çağrısını tamamladığını gösterir. Veri akışındaki duruma bağlı olarak, birden çok günlük kaydı yazılabilir. Bileşen bir kaynaksa, bu günlük girdisi bileşenin satırları işlemeyi tamamlamış olduğu anlamına gelir.
OnPipelinePreEndOfRowset Bir bileşenin, ProcessInput yönteminin son çağrısı tarafından ayarlanan satır kümesi sonu sinyalini almak üzere olduğunu gösterir. Girişi işleyen veri akışındaki her bileşen için bir giriş yazılır. Girdi, bileşenin adını içerir.
OnPipelinePrePrimeOutput Bileşenin PrimeOutput yönteminden çağrısını almak üzere olduğunu gösterir. Veri akışına bağlı olarak, birden çok günlük girdisi yazılabilir.
OnPipelineRowsSent ProcessInput yöntemine yapılan bir çağrıyla bileşen girişine sağlanan satır sayısını bildirir. Günlük girdisi bileşen adını içerir.
PipelineBufferLeak Arabellek yöneticisi gittikten sonra arabellekleri canlı tutan bileşenler hakkında bilgi sağlar. Arabellek hala etkin durumdaysa, arabellek kaynakları serbest bırakılmamıştır ve bu, bellek sızıntılarına neden olabilir. Günlük girdisi, bileşenin adını ve arabelleğin kimliğini (ID) belirtir.
PipelineComponentTime Bileşenin beş ana işleme adımında harcadığı süreyi (milisaniye cinsinden) bildirir: Validate, PreExecute, PostExecute, ProcessInput ve ProcessOutput.
PipelineExecutionPlan Veri akışının yürütme planını raporlar. Yürütme planı, arabelleklerin bileşenlere nasıl gönderileceği hakkında bilgi sağlar. Bu bilgiler PipelineExecutionTrees günlük girişiyle birlikte Veri Akışı görevi içinde neler olduğunu açıklar.
PipelineExecutionTrees Veri akışına ilişkin düzenin çalışma ağaçlarını raporlar. Veri akışı altyapısının zamanlayıcısı, veri akışının yürütme planını oluşturmak için ağaçları kullanır.
PipelineInitialization Görev hakkında başlatma bilgileri sağlar. Bu bilgiler BLOB verilerinin geçici olarak depolanması için kullanılacak dizinleri, varsayılan arabellek boyutunu ve arabellekteki satır sayısını içerir. Veri Akışı görevinin yapılandırmasına bağlı olarak, birden çok günlük girdisi yazılabilir.

Bu günlük girişleri, bir paketi her çalıştırdığınızda Veri Akışı görevinin yürütülmesi hakkında çok sayıda bilgi sağlar. Paketleri tekrar tekrar çalıştırdığınızda, zaman içinde görevin gerçekleştirdiği işleme hakkında önemli geçmiş bilgileri, performansı etkileyebilecek sorunları ve görevin işlediği veri hacmini sağlayan bilgileri yakalayabilirsiniz.

Bu günlük girdilerini kullanarak veri akışının performansını izleme ve geliştirme hakkında daha fazla bilgi için aşağıdaki konulardan birine bakın:

Veri Akışı Görevinden Örnek İletiler

Aşağıdaki tabloda, çok basit bir paket için günlük girişleri için örnek iletiler listelenmektedir. Paket, tablodaki verileri ayıklamak için bir OLE DB kaynağı, verileri sıralamak için Sıralama dönüşümü ve verileri farklı bir tabloya yazmak için bir OLE DB hedefi kullanır.

Kayıt girişi Messages
BufferSizeTuning Rows in buffer type 0 would cause a buffer size greater than the configured maximum. There will be only 9637 rows in buffers of this type.

Rows in buffer type 2 would cause a buffer size greater than the configured maximum. There will be only 9497 rows in buffers of this type.

Rows in buffer type 3 would cause a buffer size greater than the configured maximum. There will be only 9497 rows in buffers of this type.
OnPipelinePostEndOfRowset A component will be given the end of rowset signal. : 1180 : Sort : 1181 : Sort Input

A component will be given the end of rowset signal. : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input
OnPipelinePostPrimeOutput A component has returned from its PrimeOutput call. : 1180 : Sort

A component has returned from its PrimeOutput call. : 1 : OLE DB Source
OnPipelinePreEndOfRowset A component has finished processing all of its rows. : 1180 : Sort : 1181 : Sort Input

A component has finished processing all of its rows. : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input
OnPipelinePrePrimeOutput PrimeOutput will be called on a component. : 1180 : Sort

PrimeOutput will be called on a component. : 1 : OLE DB Source
OnPipelineRowsSent Rows were provided to a data flow component as input. : : 1185 : OLE DB Source Output : 1180 : Sort : 1181 : Sort Input : 76

Rows were provided to a data flow component as input. : : 1308 : Sort Output : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input : 76
PipelineComponentTime The component "Calculate LineItemTotalCost" (3522) spent 356 milliseconds in ProcessInput.

The component "Sum Quantity and LineItemTotalCost" (3619) spent 79 milliseconds in ProcessInput.

The component "Calculate Average Cost" (3662) spent 16 milliseconds in ProcessInput.

The component "Sort by ProductID" (3717) spent 125 milliseconds in ProcessInput.

The component "Load Data" (3773) spent 0 milliseconds in ProcessInput.

The component "Extract Data" (3869) spent 688 milliseconds in PrimeOutput filling buffers on output "OLE DB Source Output" (3879).

The component "Sum Quantity and LineItemTotalCost" (3619) spent 141 milliseconds in PrimeOutput filling buffers on output "Aggregate Output 1" (3621).

The component "Sort by ProductID" (3717) spent 16 milliseconds in PrimeOutput filling buffers on output "Sort Output" (3719).
PipelineExecutionPlan SourceThread0

Drives: 1

Influences: 1180 1291

Output Work List

CreatePrimeBuffer of type 1 for output ID 11.

SetBufferListener: "WorkThread0" for input ID 1181

CreatePrimeBuffer of type 3 for output ID 12.

CallPrimeOutput on component "OLE DB Source" (1)

End Output Work List

End SourceThread0

WorkThread0

Drives: 1180

Influences: 1180 1291

Input Work list, input ID 1181 (1 EORs Expected)

CallProcessInput on input ID 1181 on component "Sort" (1180) for view type 2

End Input Work list for input 1181

Output Work List

CreatePrimeBuffer of type 4 for output ID 1182.

SetBufferListener: "WorkThread1" for input ID 1304

CallPrimeOutput on component "Sort" (1180)

End Output Work List

End WorkThread0

WorkThread1

Drives: 1291

Influences: 1291

Input Work list, input ID 1304 (1 EORs Expected)

CallProcessInput on input ID 1304 on component "OLE DB Destination" (1291) for view type 5

End Input Work list for input 1304

Output Work List

End Output Work List

End WorkThread1
PipelineExecutionTrees begin execution tree 0

output "OLE DB Source Output" (11)

input "Sort Input" (1181)

end execution tree 0

begin execution tree 1

output "OLE DB Source Error Output" (12)

end execution tree 1

begin execution tree 2

output "Sort Output" (1182)

input "OLE DB Destination Input" (1304)

output "OLE DB Destination Error Output" (1305)

end execution tree 2
PipelineInitialization No temporary BLOB data storage locations were provided. The buffer manager will consider the directories in the TEMP and TMP environment variables.

The default buffer size is 10485760 bytes.

Buffers will have 10000 rows by default

The data flow will not remove unused components because its RunInOptimizedMode property is set to false.

Birçok günlük olay birden çok giriş kaydeder ve bazı günlük girişlerinin iletileri karmaşık veriler içerir. Karmaşık iletilerin içeriğini anlamayı ve iletmeyi kolaylaştırmak için ileti metnini ayrıştırabilirsiniz. Günlüklerin konumuna bağlı olarak, karmaşık metni sütunlara veya daha yararlı bulduğunuz diğer biçimlere ayırmak için Transact-SQL deyimlerini veya Betik bileşenini kullanabilirsiniz.

Örneğin, aşağıdaki tablo, "Veri akışı bileşenine giriş olarak sağlanan satırlar" mesajını içerir. : : 1185 : OLE DB Kaynak Çıktısı : 1180 : Sıralama : 1181 : Sıralama Girişi : 76", sütunlar halinde ayrıştırılır. İleti, OLE DB kaynağından Sıralama dönüşümüne satırlar gönderildiğinde OnPipelineRowsSent olayı tarafından yazılmıştır.

Köşe yazısı Description Değer
PathID OLE DB kaynağı ile Sıralama dönüşümü arasındaki yolun ID özelliğinden gelen değer. 1185
YolAdı Yolun Name özelliğindeki değer. OLE DB Kaynak Çıkışı
Componentıd Sort dönüştürmesinin ID özelliğinin değeri. 1180
ComponentName Sort dönüştürmesinin Name özelliğindeki değer. Sırala
InputID Sort dönüşümüne girişin ID özelliğinden alınan değer. 1181
InputName Girişin Name özelliğinden Sort dönüşümüne kadar olan değer. Girişi Sırala
Satır Gönderilen Sıralama dönüştürmesinin girişine gönderilen satır sayısı. 76

Veri Akışı Görevinin Yapılandırması

Özellikler penceresinde veya program aracılığıyla özellikleri ayarlayabilirsiniz.

Özellikler penceresinde bu özellikleri ayarlama hakkında daha fazla bilgi için aşağıdaki konuya tıklayın:

Veri Akışı Görevinin Programlı Yapılandırması

Program aracılığıyla pakete veri akışı görevi ekleme ve veri akışı özelliklerini ayarlama hakkında daha fazla bilgi için aşağıdaki konuya tıklayın:

Görev veya Kapsayıcı Özelliklerini Ayarlama

video, Dengeli Veri Dağıtıcı, technet.microsoft.com.