Процесс Ascmd.exe застрял при создании OLAP

Я дергаю себя за волосы из-за этого, я не могу понять, что происходит
У меня есть следующее:

  1. Windows Server 2008 R2 64-разрядная
  2. SQL Server 2008 R2 64-разрядная

Когда я запускаю ascmd.exe, он дает XML-файл для создания базы данных OLAP, большую часть времени процесс просто застревает, и окно консоли открывается даже через десять минут без дальнейших сообщений.
Однако, если я проверяю в SQL Server Managment, я вижу, что база данных OLAP создана. Затем в другое время (та же машина, тот же сценарий, тот же моментальный снимок) это происходит успешно. Что может вызвать это странное поведение?

Я пытался искать везде, но не нашел ничего похожего
Я попытался заменить инструмент ascmd.exe его последней (версия 10.0.87.5)

Я не знаю, что вызвало это, пожалуйста, помогите!

Спасибо!!!

Обновление: пожалуйста, кто-нибудь? это очень важно

Обновление: я думаю, что у меня есть прогресс в этом, но не могу объяснить поведение. Я посмотрел код 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 ответ

Решение

Очень печально осознавать, что административные привилегии в Windows Server 2008 + SQL Server 2008 могут приводить к таким ошибкам. Запуск, когда администратор решил мою проблему, а процесс создания OLAP не застрял

Другие вопросы по тегам