2011-11-04 2 views
0

Microsoft.AnalysisServices.Server 클래스를 사용하여 SSAS 인스턴스에 연결합니다.C#을 사용하는 Process Analysis Services 데이터베이스가 고정되어 있습니다.

데이터베이스를 이름으로 검색하고 ProcessType.ProcessFull을 옵션으로 사용하여 Process 메서드를 호출합니다.

server.Databases.FindByName("MyDatabase").Process(ProcessType.ProcessFull) 

프로그램이 한 시간 동안 정지하고 나면 데이터베이스가 처리되지 않습니다.

또한 XMLA 명령을 전달하여 Server 클래스를 사용하여 데이터베이스를 처리하려고 시도했습니다. 이 명령은 SQL Server Management Studio에서 실행할 때 작동하지만 서버 연결을 통해 전달할 때는 실행되지 않습니다.

server.Execute("My XMLA Process Command") 

처리하기 전에 server.Execute를 사용하여 XMLA 명령을 전달하여 데이터베이스를 만듭니다. 데이터베이스 생성 명령은 정상적으로 작동하지만 XMLA 또는 C# 객체를 사용하면 process 데이터베이스 명령이 작동하지 않습니다. 단지 한 시간 동안 프로그램이 정지되고 데이터베이스가 처리되지 않습니다.

도움을 주시면 감사하겠습니다. 미리 감사드립니다.

+0

얼마나 오래는 SQL의 GUI를 통해 전체 과정을 걸립니까? – bryanmac

+0

아래에 유사한 설명이 추가되었습니다. SQL GUI를 통해 1 분 미만이 소요됩니다. – user326502

답변

0

전체 처리는 데이터 크기에 따라 꽤 걸릴 수 있습니다.

GUI 응용 프로그램을 만들고 응답하지 않는 경우 주 스레드에서 매우 긴 실행 작업을 수행하고 있기 때문일 수 있습니다. 백그라운드에서 실행하려면 BackgroundWorker 또는 ThreadPool.QueueUserWorkitem과 같은 것을 시도하십시오.

진행 상황을 확인하려면 진행 상황에 가입하고 기본 스레드에서 UI를 업데이트하여 진행 상황을 확인할 수 있습니다.

여기 진행 추적 이벤트에 가입 설명 스레드는 다음과 같습니다

http://social.msdn.microsoft.com/forums/en-US/sqlanalysisservices/thread/e9f87b28-a8c2-40fc-b6e6-68dfa59b07a6

+0

대단히 감사합니다. Bryan. SQL Server Management Studio에서 MDX 처리 명령을 실행하면 처리 작업이 완료되는 데 1 분 미만이 소요됩니다. 큐브의 데이터 크기가 작기 때문에 다른 원인이 있다고 생각하게됩니다. – user326502