我正在使用一个小型的c#程序来处理使用C#API的SSAS数据库。问题是其中一个多维数据集处于挂起状态,Database.Process()
是阻止调用,这意味着该进程会挂起,直到通过Process Explorer终止。SSAS多维数据集处理失败。返回跟踪信息需要永久
如果我手动执行处理,通过SQL Server Management Studio,我得到以下错误:Process failed. Trace information is still being transferred. If you do not want to wait for all of the information to arrive press Stop.
但行为是相同的。 4个小时后,仍然没有追踪信息。如果我按停止它告诉我连接丢失。但如果原因是连接丢失,Database.Process()
怎么不会抛出异常?
我有两个问题:
- 我该如何开始调试这?
- 是否有某种方法可以通过编程(或以其他方式)将SSAS数据库设置为快速失败而不发送看似无限量的跟踪信息?
我正在使用SQL Server 2008R2,如果它有任何区别。
如果直接在SSAS中处理多维数据集,它会失败吗? – DaImTo
是的。行为是相同的。我接受它失败。它突然间引入了行为,所以显然在某处存在错误。但是,我希望我的程序能够优雅地处理它,并且只要处理失败就会使多维数据集处理失败,而不是挂起5个小时以上,直到获取所有跟踪信息。也许它不能完成。我不知道。我在technet上发现的任何内容都表明您可以,但我是SSAS的noob。 :( –
我会尝试做SSMS的事情,让它在一夜之间 - 或者在周末 - 看看是否有任何事情在早上出现,这似乎是获取数据的最佳方式。否则,检查事件日志,并按照http://www.bidn.com/blogs/AdamJorgensen/ssas/463/introduction-to-using-profiler-with-ssas-2008使用分析器 –