Veri toplayıcıyı sorun giderme
Bu konu ile ilgili sorunları giderme, aşağıdaki kategoriler yöneliktir:
Hata durumları.Nesne modeli ve çalışma hataları bu kategoride kapsayan saat.
Performans sorunları.Bu kategori, genel ve özel performans senaryoları kapsar.
Sistem kilitlendi.Bu kategori, veri koleksiyon sırasında alt bileşeni askıda kalıyor kapsamaktadır.
Hata koşulları
Hataları yükseltilmiş nesne modelinden veya çalışma saat.
Nesne modeli hataları
Veri Toplayıcı nesne modeli sağlayan veri toplayıcı özelliklerini ve veri koleksiyon kümelerini yönetmek için programlı bir şekilde yönetilen bir API'dir.Nesne modeli etrafında ince bir sarıcı olan bir küme saklı yordamlar ve görünümler için veri toplayıcı yapılandırma mekanizması sağlar.Daha fazla bilgi için bkz: Veri Toplayıcı programlama.
Nesne modeli hatalarının nesne modeli aşağıdaki bileşenlerden birinden gelebilir:
A Transact-SQL hata bir saklı yordam oluşturulur veya Transact-SQL kod veri toplayıcısı birinden adlı saklı yordamlar.
A Transact-SQL bir veri toplayıcısı hata ortaya saklı yordam.
Yönetilen bir özel nesne modelinden atılır.
Aşağıdaki tablo nesne modelinden yükseltilebilir hatalar anlatılmaktadır.
Hata iletisi |
Hata numarası |
Açıklama |
---|---|---|
Ad, hedef, proxy_id veya etkin collection_mode güncelleştiremiyor koleksiyon küme '% s'.Stop koleksiyon küme ve sonra güncelleştirmeyi yeniden deneyin. |
14669 |
Etkin bir güncelleştirme çalışıldı koleksiyon küme.A koleksiyon küme bu tür herhangi bir güncelleştirmeyi önce durdurulmalı.Yalnızca karşıya yükleme zamanlamasını değiştirilebilir iken koleksiyon küme etkin durumda. |
Etkin silemezsiniz koleksiyon küme '% s'.Stop koleksiyon küme ve silmeyi yeniden deneyin. |
14670 |
Çalışan koleksiyon küme silme girişimi. |
Adı veya toplama parametrelerini güncelleştiremiyor öğe '% s' Etkin, koleksiyon küme '% s'.koleksiyon küme ve koleksiyon güncelleştirmek deneyin Dur öğe yeniden. |
14671 |
Bir koleksiyon güncelleştirme girişiminde öğe çalıştıran koleksiyonu küme içinde. |
Koleksiyon silemezsiniz öğe '% s' Etkin, koleksiyon küme '% s'.koleksiyon küme ve koleksiyonunu silmek deneyin Dur öğe yeniden. |
14672 |
Koleksiyonu silme denemesi öğe çalıştıran koleksiyonu küme içinde. |
'% S' toplayıcı türü silemezsiniz.Bu Toplayıcı türü ile ilişkilendirilmiş tüm koleksiyon öğeleri silin ve sonra yeniden silmeyi deneyin. |
14673 |
Koleksiyon öğeleri ile ilişkili olan bir Toplayıcı türü silme girişimi. |
Etkin olmayan verileri karşıya yükleyemez koleksiyon küme '% s'.Başlat koleksiyon küme ve verileri karşıya yüklemeyi yeniden deneyin. |
14674 |
Çalışmakta olan koleksiyon küme tarafından toplanan verileri karşıya yükleme denemesi. |
Ad, hedef, proxy_id, logging_level veya collection_mode güncelleştiremez, veya etkin koleksiyona koleksiyon öğesi ekleme küme '% s'.Stop koleksiyon küme ve sonra güncelleştirmeyi yeniden deneyin. |
14675 |
Çalışan koleksiyon küme güncelleştirme denemesi. |
Kullanıcı '% s' değiştirme izni yok.Kullanıcı '% s' Veri Toplayıcı rolünün üye olmalıdır. |
14676 |
Kullanıcı yalnızca belirli bir veri toplayıcı rolü tarafından değiştirilen özellik güncelleştirme girişiminde bulundu. |
Kullanıcı bu işlemi gerçekleştirmek için izni yok.Kullanıcı '% s' Veri Toplayıcı rolünün üye olması gerekir. |
14677 |
Kullanıcı, gerekli veri toplayıcı rolün parçası olmaksızın bir işlem gerçekleştirmeye çalıştı. |
%D kimliği ile sql Server izleme durdurulur ve dış kullanıcı tarafından kapatıldı.sql Server izleme Toplayıcısı izleme yeniden dener. |
14678 |
Oluşturulmuş ve veri toplayıcısı tarafından kullanılan bir izleme durduruldu ve Toplayıcı çalışma zamanı dışında kapalı. |
Belirtilen %s (% s) bu veri ambarı ambar geçerli değil. |
14679 |
yönetim verileri ambarı ambar içinde saklı yordamlar için geçirilen parametre diğer ambar girişleri uyan bir değere sahiptir. |
İnstmdw.sql bu sürüm yalnızca sql Server 2005 çalıştıran sunucuya karşı yürütülen veya sonraki bir sürüm olması gerekir. |
14680 |
yönetim verileri ambarı ambar sql Server 2000 veya önceki sürümünü çalıştıran bir sunucuya yükleme denemesi. |
Bu yordam, Toplayıcı devre dışı bırakıldığında gerçekleştiremiyor.Toplayıcı etkinleştirin ve yeniden deneyin. |
14681 |
Çakışan bir Toplayıcı'nın durumu ile birlikte işlemi denemesi. |
Durumu koleksiyon küme değişti, ancak yeniden başlatmaz veya Toplayıcı etkinleştirilene kadar durdurabilir. |
14682 |
Başlatma veya durdurma denemesi koleksiyon küme ne zaman Toplayıcı etkin değildir. |
A koleksiyon küme anlık görüntü veya sürekli modunda bir zamanlama gerektirir. |
14683 |
Oluşturma veya güncelleştirme bir koleksiyon küme anlık görüntü veya bir zamanlama sağlayan olmadan sürekli modunda. |
Yakaladı hata #: % d, düzeyi: % d, durumu: Yordam % d: % s, satır: ileti % d: %s |
14684 |
Veri Toplayıcı bileşen genel bir hata oluştu; hata bir catch yakalandı blok ve rethrown. |
Geçersiz işlem.Durumu koleksiyon küme kimliği ile = %d olan şu anda "çalışır". |
14685 |
Sp_syscollector_create_set_queue_and_service 0 is_running durumuna sahip bir küme için bir çağrı. |
Yapılandırma deposu MDWInstance ve MDWDatabase Parametreler null olamaz. |
14686 |
Bağlantı dize ya MDWInstance ya da MDWDatabase parametreleri için null veri ambarı ambar yönetimi için. |
@ Cache_window parametre geçersiz değeri (% d).İzin verilen değerler şunlardır: -1 (önceki karşıya yükleme hataları tüm karşıya yükleme verilerden önbelleğe) 0 (önbellek karşıya yükleme veri yok), n (önbellek verilerini n önceki karşıya yükleme hataları, burada n >= 1) |
14687 |
Bir çalışıldı küme Toplayıcı yapılandırma deposu -1'den küçük bir değere CacheWindow parametresinin değeri. |
A koleksiyon küme sql Server aracısı durduğunda başlatamıyor.sql Server Agent'ı başlatın. |
14688 |
Başlat çalışıldı bir koleksiyon küme ne zaman sql Server aracısı etkin değildir. |
Koleksiyonu küme, başlatılamıyor yönetim verileri ambarı yapılandırılmamış.İnstmdw.sql komut dosyası oluşturmak ve yapılandırmak için yönetim veri ambarıleri ambarı. |
14689 |
Başlat çalışıldı ne zaman koleksiyon küme yönetim veri ambarıleri ambarı kurulu değil. |
Bu yordam, Toplayıcı etkin olduğunda gerçekleştiremiyor.Toplayıcı devre dışı bırakın ve sonra yeniden deneyin. |
14690 |
Çakışan bir Toplayıcı'nın durumu ile birlikte işlemi denemesi. |
Toplayıcı durumunu null olamaz.Bu bir iç Bozulması yapılandırma veri toplayıcısı gösterebilir. |
14691 |
Sp_syscollector_verify_collector_state çağrısı CollectorEnabled parametresi null değeri bulundu.Bu yapılandırma Veri Toplayıcı'nın bir iç bozulmasını gösterebilir. |
Çalışma zamanı hataları
Run -saat bir koleksiyonu paketi, hataları ortaya veya karşıya yükleme paketi çalıştırır ve bir sorunla karşılaşır.Hataları aşağıdaki bileşenlerden birinden gelebilir:
Veri akışı bir SQL Server 2008 Integration Services (SSIS) paket.Bu hatalar sonucu başarısız veri dönüştürme veya veri kesilmesi olabilir.Veri Toplayıcı hata tarafından etkilenen satırların sayısını kaydeder ve veri toplayıcı günlüğü tablolar, o numarayı kaydeder.
denetim akışı SSIS paket.SSIS günlük tablolar halinde bu hataları günlüğe msdb veritabanı (msdb.dbo.sysssislog) ve dışarı veri toplayıcı günlüğü tablolar. bubbled
Veri Toplayıcı çalışma -saat bileşeni (dcexec.exe).Doğrudan veri toplayıcı günlüğü tablolarda bu hataları günlüğe kaydedilir.
Daha fazla bilgi için bkz: Veri Toplayıcı günlüğü.
Run - hakkındaki durum bilgilerini almak için aşağıdaki yöntemlerden birini kullanarak öneririzsaat hataları.
Transact-sql depolanan yordamlar ve görünümler
Tüm çalışmakta ve bitmiş durumunu görüntülemek için koleksiyon kümeleri veya paketleri, aşağıdaki sorguyu çalıştırın:
use msdb
select * from syscollector_execution_log_full
Önceki sorgu aşağıdaki sonuç küme döndürür.
Sütun adı |
Açıklama |
---|---|
log_id |
Her biri için benzersiz bir kimlik koleksiyon küme yürütme.Bu görünümü diğer ayrıntılı günlükler ile birleştirmek için kullanılır. |
parent_log_id |
Üst paket Kimliğini veya koleksiyon küme.Bu koleksiyon küme için null olur.Kimlikleri, tanımlamak kolay hale getirmek için bir üst-alt ilişkisi zincirlenir koleksiyon küme hangi paket başlatıldı.Buna ek olarak, bu görünümü günlük girişlerini kendi alt-üst bağlantı'yı gruplandırır ve çağrı zincirini açıkça görülebilir şekilde paketlerin adlarını girintiler. |
name |
Adı koleksiyon küme veya bu günlük girdisini gösteren paket. |
collection_mode |
koleksiyonu küme giriş yapıldığını, koleksiyon veya karşıya yükleme etkinliği. |
start_time |
Zaman koleksiyon küme veya paket başlatıldı. |
last_iteration_time |
Sürekli olarak çalıştırma paketleri, en son saat paket anlık görüntü yakalanan. |
finish_time |
Paketleri ve koleksiyon tamamlanmış çalışma tamamlandı saat ayarlar. |
duration |
Milisaniye cinsinden saat, paket veya koleksiyon küme çalıştıran. |
operator |
Başlatan işleç koleksiyon küme veya paket. |
status |
Durumu koleksiyon küme veya paket.Bu olacaktır:
|
failure_task |
koleksiyon küme veya paket başarısız oldu, ortaya çıkan SSIS paketindeki görevin adını. |
package_execution_id |
SSIS günlük bağlantı tablo. |
collection_set_id |
Bağlantı Veri Toplayıcı yapılandırmasında tablo.
Not
Özel bir odaklanmak için filtre olarak collection_set_id kullanabilirsiniz koleksiyon küme günlüğü.
|
Daha fazla bilgi için bkz: syscollector_execution_log_full (Transact-sql).
Hakkında ek bilgi edinmek koleksiyon küme ve veri toplayıcı sağlar işlevleri yürüterek yürütme paket.
Aşağıdaki işlev hakkında ayrıntılı istatistikleri döndürür koleksiyon küme veya paket, paket tarafından günlüğe hata satır sayısı da dahil olmak üzere.
select * from fn_syscollector_get_execution_stats(@log_id)
Eşleşen SSIS günlük (sysdtslog90) bir kısmı sonraki işlev döndürür package_execution_id için bir paket.Paket başarısız olduysa, bu kök hatanın ne olduğunu bulmak için en iyi yoludur.
select * from fn_syscollector_get_execution_details(@log_id)
Veri Toplayıcı durum raporları
Önceki tarafından döndürülen aynı bilgileri elde edebilirsiniz Transact-SQL sorguları görüntüleyerek sağlanan günlükleri SQL Server Management Studio.Daha fazla bilgi için bkz: Nasıl yapılır: Koleksiyonu kümesi günlüklerini görüntüle.
Performans sorunları
Üç birincil gözden geçirme ve performans tanılamak için kullanabileceğiniz veri kaynakları vardır.
İlk olarak önceki bölümde açıklanan günlük tablolarını da performans sorunları gidermek için kullanılabilecek yararlı bilgiler sağlar.
The fn_syscollector_get_execution_stats function returns the following information.
Sütun adı |
Açıklama |
---|---|
avg_row_count_in |
Girilen satır ortalama sayısı veri akışı görevleri paket. |
min_row_count_in |
En az sayıda girilen veri akışı görevleri paket. |
max_row_count_in |
Girilen satır sayısının veri akışı görevleri paket. |
avg_row_count_out |
Çıkıldı satır ortalama sayısı veri akışı görevleri paket. |
min_row_count_out |
Veri akışı görevleri paket sol satır minimum sayısı. |
max_row_count_out |
Veri akışı görevleri paket sol satır en fazla sayısı. |
avg_duration |
Ortalama saat (milisaniye) paketn veri akışı bileşen harcanan. |
min_duration |
En azından saat (milisaniye) paketn veri akışı bileşen harcanan. |
max_duration |
En büyük saat (milisaniye) paketn veri akışı bileşen harcanan. |
Performans veri ikinci kaynak olan syscollector_execution_log_full ne kadar koleksiyon küme hakkında bilgi sağlayan tablo bitti ya da çalışmaktadır.
Son olarak, performans sayaçları Performans konularını değerlendirmenize yardımcı olmak için kullanılır.Veri Toplayıcı (dcexec.exe) işlemi örnekleri için standart İşlem sayaçları özellikle ne kadar sistem kaynaklarını iyi göstergeleri veri toplayıcı çalışma - sağlamaksaat bileşeni kullanıyor.
Performans sorunu senaryoları
İki senaryo veri toplayıcısı çalıştırıldığında, performans sorunları gösterilmeye olasılığı daha yüksektir:
Veri Toplayıcı çok fazla sistem kaynaklarını tüketen.
Veri Toplayıcısı ile ayak uydurabiliyoruz değil koleksiyon yüklenemiyor.
Sistem kaynaklarının aşırı kullanımı
İşlem performans sayaçları analizini dcexec.exe işlem çok fazla sistem kaynaklarını kullanmakta olduğunuz gösterirse, aşağıdaki araştırma yapılması.
İlk olarak, orada bir tek olup olmadığını koleksiyon küme , en iyi kaynakları kullanıyor.
Koleksiyonu küme tanımlamak için koleksiyon küme kimliği işlem kimliği eşleştirmek syscollector_execution_log_fullve sonra küme koleksiyonu bulmak syscollector_collection_sets tablo.
Belirlemek ne koleksiyon küme toplanıyor.Tüm koleksiyon öğeleri gruplandırdığınız içinde listelemek için aşağıdaki sorgu kullanın küme:
select * from syscollector_collection_set_items where collection_set_id = <id>
Yukarıdaki sorgu bilgileri kullanarak, aşağıdaki soruları göz önünde bulundurun:
Çok fazla koleksiyon öğeleri var mı?
Tek bir koleksiyon olan öğe sorunların çoğunu neden?
Çok fazla veri toplanırken?
Yanıtı Evet herhangi yukarıdaki soruları ise, koleksiyon veya toplanan verilerin sesi azaltmak için koleksiyon öğeleri değiştirmeyi düşünün.Bu kaynak tüketimini azaltır.
İkinci olarak, olup etkin koleksiyon kümeleri soruna neden oluyor.
Kaç bulma koleksiyon ayarlar aşağıdaki sorguyu kullanarak sistemde tanımlanmıştır:
select count(*) from syscollector_collection_sets
Kaç bulma koleksiyon kümeleri şu anda çalışan aşağıdaki sorguyu kullanarak:
select count(*) from syscollector_execution_log_full where parent_log_id is null and status = 1
Performans sorunu zaman zaman sorun için eşler, bakın koleksiyon veya etkinlik karşıya.Zamanlamaları tüm aynı olması durumunda, bu soruna neden.Bir koleksiyon veya karşıya yükleme zamanlamasını ayarlama, basit bir çözüm olabilir.
Yük takip edilemiyor
Bu durum, sadece sürekli olarak çalıştıran koleksiyonu kümeleri ile koleksiyon.koleksiyonu sıklığı yüksektir ve büyük miktarda veri koleksiyonk için koleksiyon varsa paket tek bir anlık görüntü yineleme için ayrılan saat verileri işlemek mümkün olmayabilir.Bu durum karşılaştırarak tespit edebilirsiniz avg_duration ve max_duration Günlükteki sütunları tablo bir özel koleksiyon öğesi. için tanımlanan koleksiyonu sıklığı için
If the max_duration value is larger than the frequency value, the collection package might not always be able to keep up with the configured frequency.If the avg_duration value is higher than the frequency, the collection package has a consistent problem.İkinci durumda, frekans azaltılacak ya da koleksiyon öğe toplanan veri miktarını sınırlamak için değiştirilmesi.
Sistem kilitlendi
Veri toplayıcı grubunun bir parçası olarak çalışan bir paket işlemeyi durdurur ancak çıkmak ve bu durumda kalır bir sistem askıda.Çoğu sistem kilitlendi, koleksiyon küme durdurup tarafından çözülebilir.
Gerçek bir takılma hedeflenen davranış ayırt etmek önemlidir.
Sürekli çalışan bir koleksiyon paket veri anlık görüntü toplamak için düzenli aralıklarla eylemlerinize çoğu saat bir bekleme durumunda geçirdiği.Paket Veri toplama sonra bekleme durumuna geri gider.Bu bekleme durumunu sistem askıda görünebilir, ancak bu değildir.Doğrulamak için kontrol syscollector_execution_log_full Tablo için şüpheli bir paket.If the last_iteration_time was no later than the current time, the condition is not a hang.
Bir paket koleksiyon eylem tetikleyen bir olay için beklemek için tasarlanmış olabilir.Bu durum paket, olay için bekleyecektir.Bu bir Askı değil.
Veri Toplayıcı ilgili bir sistem askıda olduğunu doğrulamak için aşağıdaki denetimleri gerçekleştirin:
İlk olarak, karşılık gelen dcexec.exe işlem Kimliğini tanımlamak koleksiyon küme araştırmak istediğiniz.
Daha sonra işlemin çalıştığı ve kaynakları kullanıyorsa denetleyin.Askıda işlemler % 0 genellikle kullandığı cpu ve daha fazla bellek ayırır.İşleminin yüksek cpu yüzdesi de kullanabilirsiniz.Bu ise durum onu döngü ve bellek çıkma değil.
Son olarak günlük tablo son kez güncelleştirildiği sırada görmek işlemi için denetleyin.Güncelleştirme sıklığı tahsilat için birden fazla saat, öğe, işlemi askıya alındı.
Veri Toplayıcı işlemi askıda neden çeşitli nedenleri vardır.En yaygın şunlardır:
Bir paket bir sonraki yineleme erdiği için bekler, ancak bu gerçekleşmez.
Bir paketi bekler bir paylaşılan kilit başka bir paket tarafından tutulan ancak Kilidi serbest bırakılır.
Doğru işlenmedi paket yürütme sırasında bir hata oluştu ve denetim akışı kesilmiş, ancak paket tümüyle başarısız.
Herhangi yukarıdaki durumlar vardır sistem askı ile ilgili belirli günlük girdileri.Bir neden göstermek herhangi bir ileti olup olmadığına bakın.De olay bir sistem askıda, dcexec.exe işlem bir döküm dosyası oluştur ve daha ayrıntılı araştırın.
Ayrıca bkz.