2014-02-26 3 views
5

다른 클라이언트의 데이터이기 때문에 동일한 구조이지만 데이터가 다른 3 개의 데이터베이스가 있습니다.여러 DB가있는 SSAS 큐브

이제 기존 SSAS 프로젝트가 있습니다. 데이터 소스보기, 큐브 및 차원은 하나의 DB 만 사용하거나 액세스 할 수 있습니다.

  • 동일한 구조로 여러 데이터베이스를 사용할 수 있고이를 사용하여 큐브를 만들 수 있습니다.
  • 각 클라이언트는 큐브를 사용할 수 있어야하지만 자신의 데이터 만 볼 수 있어야합니다.

diagram http://oi59.tinypic.com/u7ci1.jpg

이 가능하다? 통찰력과 유용한 참고서를 제공해 주시겠습니까?

답변

4

Easy Solution 이 문제를 해결하는 가장 쉬운 방법은 Analysis Services 데이터베이스를 세 개 만드는 것입니다. 설치가 쉽고 구조적으로 동일한 데이터베이스가 세 개 뿐이며 큐브 내에서 보안을 관리 할 필요가없고 큐브에만 액세스 할 수 있습니다. 관리가 쉽고 오류가 발생하기 어렵 기 때문에 사용자는 보지 않아야하는 데이터에 액세스 할 수 있습니다. 그리고 누구도 다른 회사의 데이터에 액세스 할 수 없도록해야하므로 하나의 공통 큐브가 필요하지 않습니다.

다른 Analysis Services 데이터베이스 이름을 사용하여 프로젝트를 세 번 배포하면됩니다. 그런 다음 전개 된 데이터베이스의 데이터 소스 오브젝트를 다른 관계형 데이터베이스를 가리 키도록 변경하십시오.

첫 번째 단계 인 Business Intelligence Development Studio에서 솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 아래쪽 항목 ("속성")을 선택한 다음 "배포"를 선택합니다. 여기서 데이터베이스 이름뿐 아니라 솔루션을 배포 할 서버를 입력 할 수 있습니다. 대화 상자를 닫은 후에 프로젝트 노드를 다시 오른쪽 클릭하고 Deploy를 선택하십시오. 세 가지 다른 데이터베이스 이름을 사용하여이 단계를 반복하십시오.

그런 다음 SQL Server Management Studio에서 Analysis Services 서버에 연결하고 각 데이터베이스를 열고 관계형 데이터베이스를 가리 키도록 각 데이터베이스의 데이터 원본 개체를 편집합니다. 그런 다음 Analysis Services 데이터베이스를 다시 처리하십시오.

또는 BIDS의 모든 작업을 수행 할 수도 있습니다. 이자형. 배포 및 배포를위한 대상 데이터베이스 변경 사이에 데이터 원본을 변경하고 배포 후 Analysis Services 데이터베이스를 다시 처리 할 수도 있습니다.

큐브 정의를 여러 번 변경하고 배포해야하는 경우 "구성 관리자"버튼을 사용하여 프로젝트 속성 대화 상자에서 편집 할 수있는 구성을 사용할 수 있습니다. 각 대상 Analysis Services 데이터베이스에 하나씩 세 가지 구성이 있습니다. 속성을 반복해서 편집 할 필요없이 각 배포에 대한 도구 모음의 드롭 다운 목록에서 구성 중 하나를 선택할 수 있습니다.

이 작업을 자주 수행해야하는 경우 데이터베이스를 변경하고 XMLA 또는 AMO를 통해 또는 PowerShell을 통해 큐브를 다시 처리하는 단계를 자동화하는 것이 어렵지 않을 것입니다. 그러나 이것을 구현하는 것은 또 다른 질문이 될 것입니다.

더 복잡한 솔루션

당신이 정말로 하나 개의 큐브에 모든 것을 가지고 싶은 경우에, 당신은 데이터 원본 뷰에서 다른 소스 테이블의 조합을해야합니다. 세 개의 관계형 데이터베이스가 모두 동일한 SQL Server 인스턴스에있는 경우 데이터 원본 뷰의 명명 된 쿼리로 또는 데이터베이스 중 하나의 뷰로 정의 할 수 있습니다. 별도의 관계형 뷰 또는 테이블로 더 좋을 수도 있습니다 데이터 베이스. NameOfDB.Schema.Tablename 형식으로 동일한 SQL Server 인스턴스에서 실행중인 다른 데이터베이스에서 테이블이나보기에 액세스 할 수 있습니다.

이러한 데이터베이스가 다른 인스턴스에있는 경우 연결된 서버를 사용할 수 있습니다.

물론 다른 데이터베이스의 키를 관리해야하므로 동일한 차원 항목의 키가 같고 다른 차원 항목의 키가 다릅니다. 또한 큐브에서 보안을 설정하여 사용자가 보이지 않는 데이터를 볼 수 없도록해야합니다.

Analysis Services에서 Analysis Services의 다른 테이블이나 명명 된 쿼리에 대해 서로 다른 데이터 원본 개체를 사용할 수는 있지만 실제로는 하나만 사용합니다.이 원본으로 보내는 SQL 문 하나입니다. 또한 차원은 명명 된 쿼리, 뷰 또는 테이블과 같은 하나의 데이터 원본 뷰 개체를 기반으로해야합니다. 팩트 테이블의 경우 파티션을 사용하여이 문제를 해결할 수 있지만 차원에는 영향을 미치지 않습니다.

+0

답장을 보내 주셔서 감사합니다.하지만 다른 분석 서비스 데이터베이스 이름을 사용하여 프로젝트를 세 번 배포하십시오. 나는 이것에 진짜 새롭다. 저는 약 3 일 동안 큐브와 SSAS를 공부했습니다. 다음 제안 단계를 수행하는 방법을 자세히 설명 할 수 있습니까? 프랭크에게 감사드립니다! – Raii

+0

@Raii 나는 내 대답을 편집하여 단계에 대한 자세한 내용을 제공했습니다. – FrankPl

+0

@FrankPI 나는 내일 (이 시간이 없어)이 날을 시험해 볼 것이고, 나는 당신에게 알려줄 것이다. 감사! – Raii