Ssas

跟踪表格刷新錯誤

  • January 25, 2019

我在 SQL Server 2017 上有一個表格多維數據集。該多維數據集在伺服器代理作業中使用完全刷新命令進行刷新。作業按計劃執行。

當我檢查工作的歷史時,我發現它成功完成了,所以一切都是“綠色的”。

當我檢查多維數據集的表時,其中一個表沒有得到很好的處理,它不包含任何數據。現在隻手動處理這個表,問題就解決了。所以這不是表配置/定義問題。

我在哪裡可以找到有關錯誤消息的更多資訊,為什麼在自動完全刷新命令中未處理此表?

您可以使用擴展事件來跟踪表格模型的處理歷史。ProgressReportBeginProgressReportEnd事件根據文件報告處理資訊。SSAS 擴展事件與 SQL Server 中的事件有些不同。創建後,擴展事件處於活動狀態。要停止該事件,必須將其刪除。可以使用 XMLA 查詢編輯器通過 SSMS 中的 XMLA 請求創建擴展事件。下面使用事件創建一個擴展ProgressReportEnd事件。多個事件可以包含在單個事件會話中。例如,您可以創建一個同時包含 theProgressReportBeginProgressReportEnd事件的會話。下面還有一個用於刪除此事件的 XMLA 命令。有幾種方法可以訪問結果target屬性控制。有幾個選項是在 SSMS ( event_stream) 中查看結果並將其寫入文件 ( event_file)。在此範例中,結果使用event_file. 該文件的內容(處理活動)可以在 SSMS 中查看。為此,請右鍵點擊文件,選擇Open With ,然後選擇SSMS。要刪除事件,請使用創建事件時的 ID 作為TraceID刪除請求中的 ID。

創建擴展事件:

<Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
 <ObjectDefinition>
   <Trace>
     <ID>XE_Process</ID>
     <Name>XE_Process</Name>
     <XEvent xmlns="http://schemas.microsoft.com/analysisservices/2011/engine/300/300">
       <event_session name="XE_Process" dispatchLatency="0" maxEventSize="0" maxMemory="4" memoryPartition="none" eventRetentionMode="AllowSingleEventLoss" trackCausality="true" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
         <event package="AS" name="ProgressReportEnd" />
         <target package="package0" name="event_file">
           <parameter name="filename" value="C:\Test\XE_Process.xel" />
           <parameter name="max_file_size" value="4096" />
           <parameter name="max_rollover_files" value="1" />
           <parameter name="increment" value="1024" />
         </target>
       </event_session>
     </XEvent>
   </Trace>
 </ObjectDefinition>
</Create>

刪除擴展事件:

<Delete xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
 <Object>
   <TraceID>XE_Process</TraceID>
 </Object>
</Delete>

引用自:https://dba.stackexchange.com/questions/228068