Sdílet prostřednictvím


Monitorování služby Analysis Services pomocí rozšířených událostí v SQL Serveru

platí pro: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Extended Events (xEvents) je systém pro sledování lehké hmotnosti a monitorování výkonu, který používá velmi málo systémových prostředků, což je ideální nástroj pro diagnostiku problémů na produkčních i testovacích serverech. Je také vysoce škálovatelná, konfigurovatelná a v SQL Serveru 2016 se snadněji používá prostřednictvím nové integrované podpory nástrojů. V aplikaci SQL Server Management Studio (SSMS) u připojení k instancím služby Analysis Services můžete nakonfigurovat, spustit a monitorovat živé trasování, podobně jako pomocí SQL Server Profileru. Přidáním lepších nástrojů by měl xEvents lépe nahradit SQL Server Profiler a vytvořit větší symetrii při diagnostice problémů v databázovém stroji a úlohách Analysis Services.

Kromě aplikace SQL Server Management Studio můžete také nakonfigurovat relace rozšířených událostí služby SQL Server Analysis Services starým způsobem prostřednictvím skriptování XMLA, jak bylo podporováno v předchozích verzích.

Všechny události služby Analysis Services je možné zachytit a cílit na konkrétní uživatele, jak je definováno v rozšířených událostech.

Konfigurace služby Analysis Services pomocí SSMS

Pro tabulkové i multidimenzionální instance zobrazí SSMS složku pro správu, která obsahuje relace xEvent iniciované uživatelem. Můžete spustit více relací najednou. V aktuální implementaci však uživatelské rozhraní rozšířených událostí služby SQL Server Analysis Services nepodporuje aktualizaci nebo přehrání existující relace.

Složka Pro správu se nepodporuje při připojení k pracovnímu prostoru Power BI Premium pomocí aplikace SSMS.

ssas_extended_events_ssms_start ssas_extended_events_ssms_start

Volba událostí

Pokud už víte, které události chcete zachytit, je jejich vyhledání nejjednodušší způsob, jak je přidat do trasování. V opačném případě se pro operace monitorování běžně používají následující události:

  • CommandBegin a CommandEnd.

  • QueryBegin, QueryEnd a QuerySubcubeVerbose (zobrazuje celý dotaz MDX nebo DAX odeslaný na server) a resourceUsage pro statistiky prostředků spotřebované dotazem a počet vrácených řádků.

  • ProgressReportBegin a ProgressReportEnd (pro operace zpracování).

  • AuditLogin a AuditLogout (zachycuje identitu uživatele, pod kterou se klientská aplikace připojuje ke službě Analysis Services).

Volba úložiště dat

Relaci můžete streamovat živě do okna v sadě Management Studio nebo ji zachovat do souboru pro následné analýzy pomocí Power Query nebo Excelu.

  • event_file ukládá data relace do souboru .xel.

  • event_stream povolí možnost Sledovat živá data v sadě Management Studio.

  • ring_buffer ukládá data relace do paměti, dokud server běží. Při restartu serveru se data relace vymažou.

Přidání polí událostí

Nezapomeňte nakonfigurovat relaci tak, aby zahrnovala pole událostí, abyste mohli snadno zobrazit informace, které vás zajímají.

Konfigurace je možnost na vzdálené straně dialogového okna.

Snímek obrazovky dialogového okna se zvýrazněnou možností konfigurace na pravé straně okna

V konfiguraci na kartě Pole událostí vyberte TextData , aby se toto pole zobrazilo vedle události, zobrazující vrácené hodnoty, včetně dotazů spuštěných na serveru.

Po nakonfigurování relace pro požadované události a úložiště dat můžete kliknutím na tlačítko skriptu odeslat konfiguraci do jednoho z podporovaných cílů, a to včetně souboru, nového dotazu v aplikaci SQL Server Management Studio a schránky systému.

Aktualizovat relace

Po vytvoření relace nezapomeňte aktualizovat složku Relace v sadě Management Studio, abyste viděli právě vytvořenou relaci. Pokud jste nakonfigurovali event_stream, můžete kliknout pravým tlačítkem myši na název relace a zvolit Sledovat živá data a sledovat aktivitu serveru v reálném čase.

Skript XMLA pro spuštění

Rozšířené trasování událostí je povolené pomocí podobného příkazu xmla create object script, jak je znázorněno níže:

<Execute ...>  
   <Command>  
      <Batch ...>  
         <Create ...>  
            <ObjectDefinition>  
               <Trace>  
                  <ID>trace_id</ID>  
                  <Name>trace_name</Name>  
                  <ddl300_300:XEvent>  
                     <event_session ...>  
                        <event package="AS" name="AS_event">  
                           <action package="PACKAGE0" .../>  
                        </event>  
                        <target package="PACKAGE0" name="asynchronous_file_target">  
                           <parameter name="filename" value="data_filename.xel"/>  
                           <parameter name="metadatafile" value="metadata_filename.xem"/>  
                        </target>  
                     </event_session>  
                  </ddl300_300:XEvent>  
               </Trace>  
            </ObjectDefinition>  
         </Create>  
      </Batch>  
   </Command>  
   <Properties></Properties>  
</Execute>  

Pokud uživatel definuje následující prvky v závislosti na potřebách trasování:

trace_id
Definuje jedinečný identifikátor pro toto sledování.

trace_name
Název zadaný tomuto trasování; obvykle čitelná definice trasování. Je běžnou praxí používat trace_id jako název.

AS_event
Událost služby Analysis Services, která má být zpřístupněna. Názvy událostí viz v části Události trasování služby Analysis Services.

data_filename
Název souboru, který obsahuje data událostí. Tento název má příponu s časovým razítkem, aby se zabránilo přepsání dat, pokud se sledování opakovaně odesílá.

metadata_filename
Název souboru, který obsahuje metadata událostí. Tento název má příponu s časovým razítkem, aby se zabránilo přepsání dat, pokud je sledování odesíláno opakovaně.

Skript XMLA, který se má zastavit

Chcete-li zastavit objekt trasování rozšířených událostí, je nutné odstranit tento objekt pomocí podobného příkazu XMLA delete object script, jak je znázorněno níže:

<Execute xmlns="urn:schemas-microsoft-com:xml-analysis">  
   <Command>  
      <Batch ...>  
         <Delete ...>  
            <Object>  
               <TraceID>trace_id</TraceID>  
            </Object>  
         </Delete>  
      </Batch>  
   </Command>  
   <Properties></Properties>  
</Execute>  
  

Pokud uživatel definuje následující prvky v závislosti na potřebách trasování:

trace_id
Definuje jedinečný identifikátor trasy, který má být odstraněn.

Viz také

Rozšířené události SQL Serveru