테이블 형식 개체 모델 설치, 배포 및 참조

적용 대상: SQL Server 2016 이상 Analysis Services Azure Analysis Services Fabric/Power BI Premium

이 문서에서는 관리 코드에서 테이블 형식 모델 및 데이터베이스를 만들고 관리하기 위한 C# 라이브러리인 TOM(테이블 형식 개체 모델)을 다운로드, 참조 및 재배포하는 방법을 설명합니다.

TOM은 AMO 클라이언트 라이브러리(Microsoft.AnalysisServices.dll)의 확장입니다. TOM을 사용하려면 모델 및 데이터베이스가 호환성 수준 1200 이상이어야 합니다.

AMO-TOM 어셈블리

AMO에는 새 Core, 테이블 형식 및 JSON 어셈블리가 포함됩니다. 또한 첫 번째 릴리스 이후 Analysis Services의 일부였던 원래 AMO 어셈블리인 Microsoft.AnalysisServices.dll 포함되어 있습니다. 재구성된 AMO는 공통 클래스를 하나의 어셈블리로 오프로드하고, 추가 어셈블리를 통해 테이블 형식 API와 다차원 API 간의 논리적 나누기를 제공합니다.

다음 표에서는 각 어셈블리에 대해 설명합니다.

어셈블리 기능 중요 클래스
핵심
Microsoft.AnalysisServices.Core.dll
테이블 형식 및 다차원 데이터베이스 모두에 공통적으로 적용됩니다.

예외 처리, 서버 instance 및 데이터베이스에 대한 일반 연결, 서버 및 데이터베이스 개체에 대한 일반적인 속성 및 메서드에 대한 액세스를 제공합니다.
핵심 서버
핵심 데이터베이스
AmoException

Microsoft.AnalysisServices.Tabular.dll 버전 13.0.1601.5 이상.
테이블 형식 메타데이터 개체를 만들고 관리합니다. TOM Server
TOM 데이터베이스
모델
테이블

관계
AMO
Microsoft.AnalysisServices.dll
테이블 형식 1050-1103 데이터베이스를 포함하여 다차원 메타데이터 개체를 만들고 관리합니다. AMO 서버
AMO 데이터베이스
큐브
차원
Partition
Json
Microsoft.AnalysisServices.Tabular.Json.dll
업데이트를 제어하기 위해 NewtonSoftJson.dll(JSON.NET)을 래핑하는 도우미 DLL로, 서버 워크로드에서 JSON 직렬화에 기능 변경이 도입될 위험을 제거합니다.

이 DLL은 TOM에 종속성으로 존재하며 코드에서 직접 사용할 수 없습니다.
없음

어셈블리 종속성 이해

AMO에 대해 프로그래밍하려면 솔루션에 종속 DLL에 대한 참조가 포함되어야 합니다. AMO와 TOM은 모두 기본 클래스를 제공하기 때문에 Core에 의존합니다.

AMO의 일부 클래스는 TOM의 클래스를 참조하기 때문에 AMO는 TOM에 의존합니다. 예를 들어 AMO Database 개체에는 TOM dll에 구현된 Model 형식의 모델 속성이 있습니다.

AMO TOM 종속성

Microsoft.AnalysisServices.Tabular.dll 없이는 Microsoft.AnalysisServices.dll 배포할 수 없지만 다른 네임스페이스 없이는 해당 네임스페이스를 참조할 수 있습니다.

코드에서 사용할 네임스페이스 선택

개체 계층 구조에서 Database 아래의 모든 개체는 Model 개체를 통한 테이블 형식 메타데이터 생성이거나 Cube, Dimension 또는 MeasureGroup 개체를 통한 다차원 메타데이터 생성입니다. 서버, 데이터베이스, 역할 또는 추적 수준에서 개략적인 작업의 경우 참조할 네임스페이스 선택은 코드에서 지원해야 하는 워크로드에 따라 달라집니다.

  • 솔루션이 호환성 수준 1200 이상인 경우 Tabular.Server 또는 Tabular.Database를 사용하고, 작업하는 Database 개체는 테이블 형식 메타데이터 생성으로 표현된 Model, Table, Columns 및 기타 개체에 대한 액세스를 제공해야 합니다.
  • 다운스트림 코드가 큐브, DataSources, DataSourceViews 및 차원과 같은 다차원 개체를 참조하는 경우 AnalysisServices.Server 또는 AnalysisServices.Database를 사용합니다.

데이터베이스와 모델 형식의 혼합을 지원하는 도구 및 애플리케이션에 대한 네임스페이스가 모두 필요합니다.

코드에서 Core 네임스페이스를 참조할 필요가 없습니다. Core의 클래스는 주 개체에 대해 Name 및 Description과 같은 공통 속성을 제공하기 위해 만든 기본 클래스입니다.

AMO 다운로드 및 설치

  1. 클라이언트 라이브러리로 이동합니다.

  2. Windows Installer 또는 NuGet 패키지를 사용하여 AMO를 선택하고 다운로드합니다.

참조 추가

  1. 솔루션 탐색기>참조>찾아보기 추가에서

  2. C:\Program Files\Microsoft SQL Server\140\SDK\Assemblies로 이동하여 다음을 선택합니다.

    • Microsoft.AnalysisServices.Core
    • Microsoft.AnalysisServices.Tabular
    • Microsoft.AnalysisSerivces.Tabular.Json
  3. 확인을 클릭합니다. 솔루션 탐색기 어셈블리가 References 폴더에 있는지 확인합니다.

  4. 코드 페이지에서 데이터베이스와 모델이 테이블 형식 1200 이상 호환성 수준인 경우 Microsoft.AnalysisServces.Tabular 네임스페이스를 추가합니다.

    using Microsoft.AnalysisServices; 
    using Microsoft.AnalysisServices.Tabular;
    

    Server, Database, Role 및 Trace 개체에 공통 클래스가 있는 네임스페이스를 포함하는 경우 사용할 네임스페이스를 한정하여 모호한 참조를 방지합니다(예: Microsoft.AnalysisServices.Tabular.Server는 테이블 형식 네임스페이스를 사용하여 Server 개체를 인스턴스화함).

애플리케이션을 사용하여 AMO 및 TOM 재배포

AMO 및 TOM 재배포는 sql_as_amo.msi 설치 패키지 또는 NuGet 패키지를 통해 제공됩니다. AMO 또는 TOM을 호출하는 클라이언트 애플리케이션에 대한 설치 프로그램을 빌드하는 경우 실행 파일에sql_as_amo.msi 추가합니다.

패키지는 자체 포함되며 코드에서 AMO 및 TOM을 호출하는 데 필요한 모든 어셈블리를 제공합니다. SQL_AS_OLEDB.msi 또는 SQL_AS_ADOMD.msi 같은 다른 패키지는 TOM 프로그래밍 시나리오에 특별히 필요하지 않습니다.