我把头发拔出来是因为我不明白怎么回事
我有以下几点:
当我运行ascmd.exe时,它为构建OLAP数据库提供了xml文件,大多数情况下,进程被卡住了,控制台窗口甚至在10分钟后就打开了,没有进一步的消息。
但是,如果我签入,我可以看到已经创建了OLAP数据库。然后在其他时间(相同的机器、相同的场景、相同的快照)它会成功。是什么导致了这种奇怪的行为?
我试着到处找,但没有发现任何类似的问题
我尝试用最新版本(10.0.87.5版)替换ascmd.exe工具。
我不知道是什么原因造成的,请帮帮忙!
谢谢!
更新:,请问有人吗?这很重要
更新:,我认为我在这方面取得了进展,但无法解释其行为。我查看了Ascmd的代码,发现由于某种原因,跟踪文件(日志文件)没有启动,因此代码进入了一个循环永久部分,没有退出(我在代码中添加了打印以检查它是否卡在这里,并且我注意到它被卡在while (!TraceStarted) { Thread.Sleep(1); }上了):
private static void WaitForTraceToFinish()
{
int delay = Int32.Parse(TraceTimeout, CultureInfo.CurrentCulture);
TraceTimeoutCount = TraceTimeoutCountReset = delay * PollingInterval; // TraceTimeoutCount is in 1/4 seconds
Console.WriteLine("TraceTimeoutCount is : " + TraceTimeoutCount);
Console.WriteLine("Did Trace Start Already ? : " + TraceStarted);
// Wait for trace to start to flow
while (!TraceStarted) { Thread.Sleep(1); } // loop every 20ms waiting for trace to start
// Wait BeginEndBlockCount becomes 0 or TraceTimeoutCount expires
while (TraceTimeoutCount > 0)
{ // loop forever until TraceFinished
Console.WriteLine("TraceTimeoutCount is : " + TraceTimeoutCount);
Console.WriteLine("PollingInterval is : " + PollingInterval);
Console.WriteLine("1000 / PollingInterval = " + 1000 / PollingInterval);
if (BeginEndBlockCount == 0) return;
Thread.Sleep(1000 / PollingInterval); // wait a polling interval
Console.WriteLine("TraceTimeoutCount is : " + TraceTimeoutCount);
TraceTimeoutCount--;
Console.WriteLine("TraceTimeoutCount is : " + TraceTimeoutCount);
}
Console.WriteLine("Got out from trace");
// TraceTimeoutCount expired -- just exit
}有人知道为什么跟踪文件没有启动吗?它与Windows 2008硬安全规则有关吗?
我不能删除跟踪文件,因为它要求我们有什么建议吗?谢谢!
发布于 2012-05-09 08:25:25
很令人沮丧的是,Windows Server 2008 + Server 2008中的管理权限可能会使这些错误在管理员解决我的问题时运行,OLAP的创建过程也没有卡住
https://stackoverflow.com/questions/10374084
复制相似问题