簡體   English   中英

如何以編程方式停止SSAS多維數據集處理?

[英]How to stop SSAS cube processing programatically?

我們使用Microsoft.AnalysisServices庫來訪問我們的SSAS數據庫(在SQL Server 2014上)並以編程方式處理多維數據集。

代碼如下所示:

using (var server = new Server())
{
    server.Connect("someserver");

    if (server.Connected)
    {
        var db = server.Databases.FindByName("somedb");

        if (db != null)
        {
            db.Process(ProcessType.ProcessFull);
        }
    }
}

問題是,完整立方體處理可能需要很長時間(在我們的情況下超過1小時)。 如果需要,我們需要一種方法來優雅地停止/取消它(上面的代碼是有時需要重新啟動的復雜Windows服務的一部分)。

中斷任務導致不處理多維數據集是完全可以接受的。

有沒有辦法編寫上面的代碼,所以它是非阻塞的? 或以某種方式傳遞回調? 我在MSDN文檔中找不到任何相關的內容:

https://msdn.microsoft.com/en-us/library/microsoft.analysisservices.database.aspx

您可以嘗試擺脫using塊並使server對象成為類級成員嗎? 然后在取消線程上嘗試這個:

server.CancelSession(server.SessionID);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM