2012-08-10 21 views

cevap

7

Birisi zaten işliyorsa bir küpün işlenmesini engelleyebileceğinizi düşünmüyorum.

SELECT CUBE_NAME, LAST_DATA_UPDATE FROM $System.MDSCHEMA_CUBES 

veya yayınlanmakta olup olmadığını görmek için realted sql sunucusu örneği sys.process tablosunu kontrol: Ne yapabilirsiniz "yardım" küp işlendi son kez kontrol etmek için bir MDX sorgusu çalıştırılır için:

select spid, ecid, blocked, cmd, loginame, db_name(dbid) Db, nt_username, net_library, hostname, physical_io, 
     login_time, last_batch, cpu, status, open_tran, program_name 
from master.dbo.sysprocesses 
where spid > 50 
    and loginame <> 'sa' 
    and program_name like '%Analysis%' 
order by physical_io desc 
go 
+0

Diego, Cevabınız için teşekkür ederim! – Alekzander

+0

problem yok, rememebr size o yardımcı olduysa cevap olarak işaretlemek için oy ver – Diego

+0

İlk istek sadece CUBE güncellendiğinde zaman hakkında bilgi verir. İkinci istek, hangi küpün işlendiğini belirlemede yardımcı olmaz, ancak Analiz Hizmetlerinin bir şeyler yaptığını gösterir. Ben başka durumlarda yardımcı olurken shure shure. – Alekzander

-1

Bir küp işleniyorsa, Görev Yöneticisi'nde "MSDARCH" adlı bir iş göreceksiniz. Yine de hangisini anlatabileceğinden emin değilim.

+0

Teşekkürler! Bunu kontrol edeceğim. – Alekzander

1

Benzer bir sorunla karşılaştım ve SSAS sunucusunda sağlanan DISCOVER_LOCKS satır kümesini kullanarak çözdüm.

<row> 
    <SPID>388303</SPID> 
    <LOCK_ID>0CC320DB-6B71-4341-B484-8D0A6C403AB9</LOCK_ID> 
    <LOCK_TRANSACTION_ID>335C5EE8-83C3-44D5-A653-655F933A0D2D</LOCK_TRANSACTION_ID> 
    <LOCK_OBJECT_ID> 
    <Object> 
     <DatabaseID>My_SSAS_Database</DatabaseID> 
     <CubeID>My_Cube</CubeID> 
     <MeasureGroupID>My_Measure_Group</MeasureGroupID> 
     <PartitionID>My_Partition</PartitionID> 
    </Object> 
    </LOCK_OBJECT_ID> 
    <LOCK_STATUS>1</LOCK_STATUS> 
    <LOCK_TYPE>4</LOCK_TYPE> 
    <LOCK_CREATION_TIME>2014-02-04T22:22:07.71</LOCK_CREATION_TIME> 
    <LOCK_GRANT_TIME>2014-02-04T22:22:07.71</LOCK_GRANT_TIME> 
</row> 
: Sunucu döner, böyle tür bakmak row unsurların bir demet olmalıdır XML'de

<Discover xmlns="urn:schemas-microsoft-com:xml-analysis"> 
    <RequestType>DISCOVER_LOCKS</RequestType> 
    <Restrictions> 
    <RestrictionList> 
     <!-- I tried using this, but it wasn't working and Microsoft documentation was little help. --> 
    </RestrictionList> 
    </Restrictions> 
    <Properties> 
    <PropertyList> 
     <Catalog>My_SSAS_Database</Catalog> 
     <Format>Tabular</Format> 
    </PropertyList> 
    </Properties> 
</Discover> 

: Bunu yapmak için önce aşağıdaki xmla sunucusuna sorgu yapmak

Bu örnekte, LOCK_OBJECT_ID ve LOCK_TYPE öğesinin altındaki Object öğesine dikkat edin. Microsoft'a göre documentation, bir LOCK_TYPE 4 işlem görev nedeniyle bir yazma kilidi gösterir. Bu nedenle, LOCK_TYPE 4 ve LOCK_OBJECT_ID/Object/CubeID, sorgu sonuçlarında verilen bir row öğesi ile ilgilendiğiniz küpün kimliğiyle eşleşiyorsa bir küp işlenip işlenmeyeceğini anlayabilmeniz gerekir.

0

Muhtemelen listelenenlere daha iyi bir yaklaşım, Analiz Sunucusu'ndaki etkinliği izlemek için SQL Server Profiler'u kullanmak olacaktır. Zaten belirtildiği gibi, mevcut popüler cevabın iki kusuru vardır, ilk seçenek sadece küpün işlendiği LAST süresini gösterir. Ve ikinci seçenek sadece bir şey çalışıyorsa gösterir. Ancak, ne çalıştığını ve küpünüzün bir SQL sunucusundan farklı bir veri kaynağı işlemediğini söylemiyor.

SQL Server Profiler'i kullanmak, yalnızca bir şey işleniyorsa değil, aynı zamanda işlemenin ayrıntılarını da söyleyecektir. Etkinliklerin çoğunu filtreleyebilirsiniz. Gerçek zamanlı bilgi istiyorsanız İlerleme Raporu Geçerli olayları izleyin ... Bu gerçek veri almak için veri yangın hortumu genellikle çok fazla, ama en azından bir süreç devam ettiğini iyi bileceksiniz. İlerleme Raporu'nu izleyin Olaylarını Başlayın ve Sonlandır, yalnızca şu anda işlenmekte olan, bölüm bölümlerine kadar olanlarla ilgili daha iyi bilgi almak için. İyi bilgi içeren diğer olaylar arasında Komutu Başla/Sonla ve Sorgu Başlama/Bitiş.

2

kullanımı bu kod çalışan süreçleri seçmek için: (OLAP bu yürütmek)

select * 

from $system.discover_Sessions 

where session_Status = 1 

Ve bu kod prossesess çalışan iptal etmek!örnekteki gibi çalışan SESSISONS_SPID PID 'değiştirin:

<Cancel xmlns ="http://schemas.microsoft.com/analysisservices/2003/engine"> 

    <SPID>92436</SPID> 

    <CancelAssociated>1</CancelAssociated> 

</Cancel< 
+0

Teşekkürler! Hangi küpün işlendiğini belirlemeye gerçekten yardımcı oluyor! – Alekzander

İlgili konular