Ascmd.exe进程卡在OLAP创建上

时间:2012-04-29 17:07:10

标签: sql-server-2008 ascmd

我把头发拉到这里因为我无法理解发生了什么 我有以下内容:

  1. Windows Server 2008 R2 64位
  2. SQL Server 2008 R2 64位
  3. 当我运行ascmd.exe时,它会提供xml文件以构建OLAP数据库,大多数时候进程刚被卡住,控制台窗口即使在十分钟之后也没有其他消息就打开了。
    但是,如果我签入SQL Server Managment,我可以看到创建了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 Server 2008硬安全规则有关?

    我无法删除跟踪文件,因为它是我们的要求 有什么建议?谢谢!

1 个答案:

答案 0 :(得分:1)

知道Windows Server 2008 + SQL Server 2008中的管理权限可能会导致这些错误,这令人非常沮丧 以管理员身份运行解决了我的问题,OLAP创建过程没有停留