Analysis Services 2008 újdonságok - Megbízható gyilok

Néhány hete írtam egy cikket az Analysis Services 2008 egyik újdonságáról, az adatmenedzsment nézetekről, és most mutatok egy példát a gyakorlati hasznukról is.

Tegyük fel, hogy valaki ír egy bonyolult MDX lekérdezést, és elkezdi a szerveren futtatni.

Fut... Fut... Fut... még mindig fut ... Tűréshatár ... még mindig fut...

Ki kéne nyírni! De hogyan?

Kérdezze le a $system.discover_sessions adatmenedzsment nézetet, amiből megállapíthatja, hogy melyik lekérdezések futnak éppen:

SELECT

session_id

, session_spid

, session_user_name

, session_last_command

, session_start_time

, session_cpu_time_ms

, session_reads

, session_writes

, session_status

, session_current_database

, session_used_memory

, session_properties

, session_start_time

, session_elapsed_time_ms

, session_last_command_start_time

, session_last_command_end_time

FROM $system.discover_sessions

where session_status = 1

A fenti lekérdezés visszaadja az aktuálisan futó lekérdezéseket. Másolja ki annak a lekérdezésnek a SPID-jét amelyiket ki akarja nyírni, és másolja be az alábbi XMLA utasításba, és hajrá

<Cancel xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <SPID>Írja ide a kinyírandó lekérdezés SPID-jét </SPID> </Cancel>

Így kinyírhatja azt a lekérdezés, amelyiket csak akarja.

Megj.: A Cancel XMLA utasítás már létezett a 2005-ös verzióban is, csak a szerver nem tudta mindig abban a pillanatban megszakítani a lekérdezést, amikor kiadtuk a Cancel utasítást. Ezt most javították, és ha hitetünk a fejlesztőknek, akkor az XMLA Cancel sokkal megbízhatóbb lett, mint a korábbi verziókban volt.

Kapcsolódó anyagok:

Kővári Attila - BI projekt

Új hozzászólás