XMLA 엔드포인트 연결 문제 해결Troubleshoot XMLA endpoint connectivity

Power BI Premium의 XMLA 엔드포인트는 Power BI 데이터 세트에 액세스하기 위해 네이티브 Analysis Services 통신 프로토콜을 사용합니다.XMLA endpoints in Power BI Premium rely on the native Analysis Services communication protocol for access to Power BI datasets. 이로 인해 XMLA 엔드포인트 문제 해결은 일반적인 Analysis Services 연결 문제를 해결하는 것과 거의 같습니다.Because of this, XMLA endpoint troubleshooting is much the same as troubleshooting a typical Analysis Services connection. 그러나 Power BI 관련 종속성에서 일부 차이점이 있습니다.However, some differences around Power BI-specific dependencies apply.

시작하기 전에Before you begin

XMLA 엔드포인트 시나리오의 문제를 해결하기 전에 XMLA 엔드포인트를 사용한 데이터 세트 연결에 설명된 기본 사항을 검토해야 합니다.Before troubleshooting an XMLA endpoint scenario, be sure to review the basics covered in Dataset connectivity with the XMLA endpoint. 가장 일반적인 XMLA 엔드포인트 사용 사례가 설명되어 있기 때문입니다.Most common XMLA endpoint use cases are covered there. 게이트웨이 문제 해결 - Power BIExcel에서 분석 문제 해결과 같은 다른 Power BI 문제 해결 가이드도 도움이 될 수 있습니다.Other Power BI troubleshooting guides, such as Troubleshoot gateways - Power BI and Troubleshooting Analyze in Excel, can also be helpful.

XMLA 엔드포인트 사용Enabling the XMLA endpoint

Power BI Premium 및 Power BI Embedded 용량 모두에서 XMLA 엔드포인트를 사용하도록 설정할 수 있습니다.The XMLA endpoint can be enabled on both Power BI Premium and Power BI Embedded capacities. 2.5GB 메모리를 사용하는 A1 용량과 같이 더 작은 용량에서는 XMLA 엔드포인트를 읽기/쓰기 로 설정하고 적용 을 선택하려고 하면 용량 설정 오류가 발생할 수 있습니다.On smaller capacities, such as an A1 capacity with only 2.5 GB of memory, you might encounter an error in Capacity settings when trying to set the XMLA Endpoint to Read/Write and then selecting Apply. 오류는 "워크로드 설정에 문제가 있습니다.The error states "There was an issue with your workload settings. 잠시 후에 다시 시도하세요."입니다.Try again in a little while.".

시도해 볼 수 있는 작업은 다음과 같습니다.Here are a couple things to try:

  • 데이터 흐름 등 다른 서비스에 대한 메모리 소비를 40% 이하로 제한하거나 불필요한 서비스를 완전히 사용하지 않도록 설정합니다.Limit the memory consumption of other services on the capacity, such as Dataflows, to 40% or less, or disable an unnecessary service completely.
  • 용량을 더 큰 SKU로 업그레이드합니다.Upgrade the capacity to a larger SKU. 예를 들어 A1에서 A3 용량으로 업그레이드하면 데이터 흐름을 사용하지 않도록 설정하지 않고도 이 구성 문제를 해결할 수 있습니다.For example, upgrading from an A1 to an A3 capacity solves this configuration issue without having to disable Dataflows.

또한 Power BI 관리 포털에서 테넌트 수준 데이터 내보내기 설정을 사용하도록 설정해야 합니다.Keep in-mind, you must also enable the tenant-level Export data setting in the Power BI Admin Portal. 이 설정은 Excel에서 분석 기능에도 필요합니다.This setting is also required for the Analyze in Excel feature.

클라이언트 연결 설정Establishing a client connection

XMLA 엔드포인트를 사용하도록 설정한 후에는 용량에서 작업 영역에 대한 연결을 테스트하는 것이 좋습니다.After enabling the XMLA endpoint, it's a good idea to test connectivity to a workspace on the capacity. 자세한 내용은 프리미엄 작업 영역에 연결을 참조하세요.To learn more, see Connecting to a Premium workspace. 또한 현재 XMLA 연결 제한 사항에 대한 유용한 팁과 정보는 연결 요구 사항 섹션을 참조하세요.Also, be sure to read the section Connection requirements for helpful tips and information about current XMLA connectivity limitations.

서비스 주체로 연결Connecting with a service principal

테넌트 설정에서 서비스 주체가 Power BI API를 사용할 수 있도록 설정한 경우 서비스 주체 사용에 설명된 대로 서비스 주체를 사용하여 XMLA 엔드포인트에 연결할 수 있습니다.If you've enabled tenant settings to allow service principals to use Power BI APIs, as described in Enable service principals, you can connect to an XMLA endpoint by using a service principal. 서비스 주체에는 작업 영역 또는 데이터 세트 수준에서 일반 사용자와 동일한 수준의 액세스 권한이 필요합니다.Keep in mind the service principal requires the same level of access permissions at the workspace or dataset level as regular users.

서비스 주체를 사용하려면 연결 문자열에서 다음과 같이 애플리케이션 ID 정보를 지정해야 합니다.To use a service principal, be sure to specify the application identity information in the connection string as:

  • User ID=<app:appid@tenantid>
  • Password=<application secret>

예:For example:

Data Source=powerbi://api.powerbi.com/v1.0/myorg/Contoso;Initial Catalog=PowerBI_Dataset;User ID=app:91ab91bb-6b32-4f6d-8bbc-97a0f9f8906b@19373176-316e-4dc7-834c-328902628ad4;Password=6drX...;

다음과 같은 오류가 표시되는 경우If you receive the following error:

"계정 정보가 불완전하기 때문에 데이터 세트에 연결할 수 없습니다."We cannot connect to the dataset due to incomplete account information. 서비스 주체의 경우 app:<appId>@<tenantId> 형식을 사용하여 앱 ID와 함께 테넌트 ID를 지정한 후 다시 시도하세요."For service principals, make sure you specify the tenant ID together with the app ID using the format app:<appId>@<tenantId>, then try again."

올바른 형식을 사용하여 앱 ID와 함께 테넌트 ID를 지정해야 합니다.Make sure you specify the tenant ID together with the app ID using the correct format.

테넌트 ID 없이 앱 ID를 지정하는 것도 유효합니다.It's also valid to specify the app ID without the tenant ID. 그러나 이 경우 데이터 원본 URL의 myorg 별칭을 실제 테넌트 ID로 바꾸어야 합니다.However, in this case, you must replace the myorg alias in the data source URL with the actual tenant ID. 그러면 Power BI가 올바른 테넌트에서 서비스 주체를 찾을 수 있습니다.Power BI can then locate the service principal in the correct tenant. 하지만 모범 사례로 myorg 별칭을 사용하고 사용자 ID 매개 변수에 앱 ID와 함께 테넌트 ID를 지정합니다.But, as a best practice, use the myorg alias and specify the tenant ID together with the app ID in the User ID parameter.

Azure Active Directory B2B를 사용하여 연결Connecting with Azure Active Directory B2B

Power BI에서 Azure AD(Azure Active Directory) B2B(기업 간) 지원을 통해 외부 게스트 사용자에게 XMLA 엔드포인트를 통해 데이터 세트에 대한 액세스를 제공할 수 있습니다.With support for Azure Active Directory (Azure AD) business-to-business (B2B) in Power BI, you can provide external guest users with access to datasets over the XMLA endpoint. Power BI 관리 포털에서 외부 사용자와 콘텐츠 공유 설정이 사용하도록 설정되어 있는지 확인합니다.Make sure the Share content with external users setting is enabled in the Power BI Admin portal. 자세한 내용은 Azure AD B2B에서 외부 게스트 사용자에게 Power BI 콘텐츠 배포를 참조하세요.To learn more, see Distribute Power BI content to external guest users with Azure AD B2B.

데이터 세트 배포Deploying a dataset

Visual Studio(SSDT)의 테이블 형식 모델 프로젝트를 Azure Analysis Services와 거의 동일하게 Power BI Premium 작업 영역에 배포할 수 있습니다.You can deploy a tabular model project in Visual Studio (SSDT) to a Power BI Premium workspace much the same as to Azure Analysis Services. 그러나 Power BI Premium 작업 영역에 배포하는 경우 몇 가지 추가 고려 사항이 있습니다.However, when deploying to a Power BI Premium workspace, there are some additional considerations. XMLA 엔드포인트를 사용하여 데이터 세트 연결 문서의 Visual Studio에서 모델 프로젝트 배포(SSDT) 섹션을 검토해야 합니다.Be sure to review the section Deploy model projects from Visual Studio (SSDT) in the Dataset connectivity with the XMLA endpoint article.

새 모델 배포Deploying a new model

기본 구성에서 Visual Studio는 데이터 원본에서 데이터 세트로 데이터를 로드하는 배포 작업의 일부로 모델을 처리하려고 합니다.In the default configuration, Visual Studio attempts to process the model as part of the deployment operation to load data into the dataset from the data sources. Visual Studio에서 모델 프로젝트 배포(SSDT)에 설명된 것처럼, 배포 작업의 일부로 데이터 원본 자격 증명을 지정할 수 없기 때문에 이 작업이 실패할 수 있습니다.As described in Deploy model projects from Visual Studio (SSDT), this operation can fail because data source credentials cannot be specified as part of the deployment operation. 대신, 데이터 원본에 대한 자격 증명이 아직 기존 데이터 세트에 대해 정의되지 않은 경우 Power BI 사용자 인터페이스를 사용하여 데이터 세트 설정에서 데이터 원본 자격 증명을 지정해야 합니다(데이터 세트 > 설정 > 데이터 원본 자격 증명 > 자격 증명 편집).Instead, if credentials for your data source aren't already defined for any of your existing datasets, you must specify the data source credentials in the dataset settings using the Power BI user interface (Datasets > Settings > Data source credentials > Edit credentials). 데이터 원본 자격 증명을 정의하면 Power BI가 메타데이터 배포에 성공하고 데이터 세트를 만든 후 모든 새 데이터 세트에 대해 자동으로 이 데이터 원본에 대한 자격 증명을 적용할 수 있습니다.Having defined the data source credentials, Power BI can then apply the credentials to this data source automatically for any new dataset, after metadata deployment has succeeded and the dataset has been created.

Power BI가 새 데이터 세트를 데이터 원본 자격 증명에 바인딩할 수 없는 경우 아래와 같이 "데이터베이스를 처리할 수 없습니다.If Power BI cannot bind your new dataset to data source credentials, you will receive an error stating "Cannot process database. 이유: 수정 내용을 서버에 저장하지 못했습니다."라는 오류가Reason: Failed to save modifications to the server." 오류 코드 "DMTS_DatasourceHasNoCredentialError"와 함께 표시됩니다.with the error code "DMTS_DatasourceHasNoCredentialError", as shown below:

모델 배포 오류

처리 실패를 방지하려면 다음 그림에 표시된 것처럼 배포 옵션 > 처리 옵션처리 안 함 으로 설정합니다.To avoid the processing failure, set the Deployment Options > Processing Options to Do not Process, as shown in the following image. 그러면 Visual Studio에서 메타데이터만 배포합니다.Visual Studio then deploys only metadata. 그런 다음 데이터 원본 자격 증명을 구성하고 Power BI 사용자 인터페이스의 데이터 세트에 대해 지금 새로 고침 을 클릭할 수 있습니다.You can then configure the data source credentials, and click on Refresh now for the dataset in the Power BI user interface. 처리 문제를 해결하는 방법에 대한 자세한 내용은 이 문서의 뒷부분에 나오는 데이터 세트 새로 고침 섹션을 참조하세요.For information about troubleshooting processing issues, see the section Refreshing a dataset later in this article.

처리 안 함 옵션

기존 데이터 세트의 새 프로젝트New project from an existing dataset

Power BI Premium 작업 영역의 기존 데이터 세트에서 메타데이터를 가져와서 Visual Studio에 새 테이블 형식 프로젝트를 만들 수는 없습니다.Creating a new tabular project in Visual Studio by importing the metadata from an existing dataset on a Power BI Premium workspace is not supported. 그러나 SQL Server Management Studio를 사용하여 데이터 세트에 연결하고 메타데이터를 스크립팅한 다음 다른 테이블 형식 프로젝트에서 다시 사용할 수 있습니다.However, you can connect to the dataset by using SQL Server Management Studio, script out the metadata, and reuse it in other tabular projects.

데이터 세트를 Power BI로 마이그레이션Migrating a dataset to Power BI

테이블 형식 모델에 대해 호환성 수준을 1500 이상으로 지정하는 것이 좋습니다.It's recommended you specify the 1500 (or higher) compatibility level for tabular models. 이 호환성 수준은 대부분의 기능과 데이터 원본 유형을 지원합니다.This compatibility level supports the most capabilities and data source types. 이후 호환성 수준은 이전 수준과 호환됩니다.Later compatibility levels are backwards compatible with earlier levels.

지원되는 데이터 공급자Supported data providers

1500 호환성 수준에서 Power BI는 다음과 같은 데이터 원본 유형을 지원합니다.At the 1500 compatibility level, Power BI supports the following data source types:

  • 공급자 데이터 원본(모델 메타데이터에 연결 문자열이 있는 레거시)Provider data sources (legacy with a connection string in the model metadata).
  • 구조적 데이터 원본(1400 호환성 수준에서 도입됨)Structured data sources (introduced with the 1400 compatibility level).
  • 데이터 원본의 인라인 M 선언(Power BI Desktop의 선언을 따름)Inline M declarations of data sources (as Power BI Desktop declares them).

데이터 가져오기 흐름을 진행하는 경우 Visual Studio에서 기본적으로 만드는 구조적 데이터 원본을 사용하는 것이 좋습니다.It's recommended you use structured data sources, which Visual Studio creates by default when going through the Import data flow. 그러나 공급자 데이터 원본을 사용하는 기존 모델을 Power BI로 마이그레이션하려는 경우 공급자 데이터 원본이 지원되는 데이터 공급자를 사용하는지 확인합니다.However, if you are planning to migrate an existing model to Power BI that uses a provider data source, make sure the provider data source relies on a supported data provider. 특히 Microsoft OLE DB Driver for SQL Server 및 타사 ODBC 드라이버가 있습니다.Specifically, the Microsoft OLE DB Driver for SQL Server and any third-party ODBC drivers. OLE DB Driver for SQL Server의 경우 데이터 원본 정의를 .NET Framework Data Provider for SQL Server로 전환해야 합니다.For OLE DB Driver for SQL Server, you must switch the data source definition to the .NET Framework Data Provider for SQL Server. Power BI 서비스에서 사용할 수 없는 타사 ODBC 드라이버의 경우 구조적 데이터 원본 정의로 전환해야 합니다.For third-party ODBC drivers that might be unavailable in the Power BI service, you must switch to a structured data source definition instead.

또한 SQL Server 데이터 원본 정의에서 오래된 Microsoft OLE DB Driver for SQL Server(SQLNCLI11)를 .NET Framework Data Provider for SQL Server로 바꾸는 것이 좋습니다.It's also recommended you replace the outdated Microsoft OLE DB Driver for SQL Server (SQLNCLI11) in your SQL Server data source definitions with the .NET Framework Data Provider for SQL Server.

다음 표에는 .NET Framework Data Provider for SQL Server 연결 문자열이 OLE DB Driver for SQL Server에 해당하는 연결 문자열을 대체하는 예제가 나와 있습니다.The following table provides an example of a .NET Framework Data Provider for SQL Server connection string replacing a corresponding connection string for the OLE DB Driver for SQL Server.

SQL Server용 OLE DB 드라이버OLE DB Driver for SQL Server .NET Framework Data Provider for SQL Server.NET Framework Data Provider for SQL Server
Provider=SQLNCLI11;Data Source=sqldb.database.windows.net;Initial Catalog=AdventureWorksDW;Trusted_Connection=yes; Data Source=sqldb.database.windows.net;Initial Catalog=AdventureWorksDW2016;Integrated Security=SSPI;Encrypt=true;TrustServerCertificate=false

파티션 원본 상호 참조Cross-referencing partition sources

데이터 원본 유형이 여러 개인 것과 마찬가지로 한 테이블 형식 모델이 테이블에 데이터를 가져오기 위해 포함할 수 있는 파티션 원본 유형도 여러 개입니다.Just as there are multiple data source types, there are also multiple partition source types a tabular model can include to import data into a table. 특히 파티션은 쿼리 파티션 원본 또는 M 파티션 원본을 사용할 수 있습니다.Specifically, a partition can use a query partition source or an M partition source. 이러한 파티션 원본 유형은 공급자 데이터 원본 또는 구조적 데이터 원본을 참조할 수 있습니다.These partition source types, in turn, can reference provider data sources or structured data sources. Azure Analysis Services의 테이블 형식 모델은 이러한 다양한 데이터 원본 및 파티션 유형을 상호 참조하는 것을 지원하지만 Power BI는 보다 엄격한 관계를 적용합니다.While tabular models in Azure Analysis Services support cross-referencing these various data source and partition types, Power BI enforces a more strict relationship. 쿼리 파티션 원본은 공급자 데이터 원본을 참조해야 하고, M 파티션 원본은 구조적 데이터 원본을 참조해야 합니다.Query partition sources must reference provider data sources, and M partition sources must reference structured data sources. 다른 조합은 Power BI에서 지원되지 않습니다.Other combinations are not supported in Power BI. 상호 참조하는 데이터 세트를 마이그레이션하려면 다음 표에 지원되는 구성이 설명되어 있습니다.If you want to migrate a cross-referencing dataset, the following table describes supported configurations:

데이터 원본Data source 파티션 원본Partition source 주석Comments XMLA 엔드포인트를 사용하는 Power BI Premium에서 지원Supported in Power BI Premium with XMLA endpoint
공급자 데이터 원본Provider data source 쿼리 파티션 원본Query partition source AS 엔진은 카트리지 기반 연결 스택을 사용하여 데이터 원본에 액세스합니다.The AS engine uses the cartridge-based connectivity stack to access the data source. Yes
공급자 데이터 원본Provider data source M 파티션 원본M partition source AS 엔진은 공급자 데이터 원본을 일반 구조적 데이터 원본으로 변환한 다음 매시업 엔진을 사용하여 데이터를 가져옵니다.The AS engine translates the provider data source into a generic structured data source and then uses the Mashup engine to import the data. 아니요No
구조적 데이터 동기화Structured data source 쿼리 파티션 원본Query partition source AS 엔진은 파티션 원본에 대한 기본 쿼리를 M 식으로 래핑한 다음 매시업 엔진을 사용하여 데이터를 가져옵니다.The AS engine wraps the native query on the partition source into an M expression and then uses the Mashup engine to import the data. 아니요No
구조적 데이터 동기화Structured data source M 파티션 원본M partition source AS 엔진은 매시업 엔진을 사용하여 데이터를 가져옵니다.The AS engine uses the Mashup engine to import the data. Yes

데이터 세트 새로 고침Refreshing a dataset

XMLA 엔드포인트를 사용하면 테이블 형식 모델뿐만 아니라 Power BI Desktop에서 만든 데이터 세트에 대해 새로 고침 작업을 수행할 수 있습니다.XMLA endpoints enable you to perform refresh operations against tabular models as well as datasets created in Power BI Desktop. 후자를 지원하려면 강화된 스토리지 형식 설정을 지정해야 합니다.To support the latter, make sure you specify the Enhanced storage format setting. 이 설정은 XMLA 엔드포인트를 사용하여 처리 또는 기타 읽기/쓰기 작업을 수행하려는 경우에 필요합니다.This setting is required if you want to perform processing or other read/write operations by using the XMLA endpoint. Power BI Desktop의 미리 보기 기능에서 설정을 찾을 수 있습니다.You can find the setting in Power BI Desktop under Preview features. 설정이 완료되면 PBIX 솔루션을 Power BI Premium 작업 영역에 다시 게시합니다.After setting, publish your PBIX solution again to your Power BI Premium workspace.

강화된 메타데이터가 없는 모델에 대해 XMLA 엔드포인트를 통해 새로 고침을 수행하는 경우 Power BI는 다음 오류를 반환합니다. "이 작업은 Power BI Premium에서 'DefaultPowerBIDataSourceVersion' 속성이 'PowerBI_V3'로 설정된 모델에서만 지원됩니다."Power BI returns the following error if you perform a refresh via the XMLA endpoint against a model without enhanced metadata: "The operation is only supported on model with property 'DefaultPowerBIDataSourceVersion' set to 'PowerBI_V3' in Power BI Premium."

데이터 원본 및 가장Data sources and impersonation

공급자 데이터 원본에 대해 정의할 수 있는 가장 설정은 Power BI와 관련이 없습니다.Impersonation settings you can define for provider data sources are not relevant for Power BI. Power BI는 데이터 세트 설정에 따라 다른 메커니즘을 사용하여 데이터 원본 자격 증명을 관리합니다.Power BI uses a different mechanism based on dataset settings to manage data source credentials. 따라서 공급자 데이터 원본을 만드는 경우 서비스 계정 을 선택해야 합니다.For this reason, make sure you select Service Account if you are creating a Provider Data Source.

서비스 계정 가장

세분화된 처리Fine-grained processing

Power BI에서 예약된 새로 고침 또는 요청 시 새로 고침을 트리거하는 경우 Power BI는 일반적으로 전체 데이터 세트를 새로 고칩니다.When triggering a scheduled refresh or on-demand refresh in Power BI, Power BI typically refreshes the entire dataset. 대부분의 경우 더 선택적으로 새로 고침을 수행하는 것이 더 효율적입니다.In many cases, it's more efficient to perform refreshes more selectively. 아래와 같이 SSMS(SQL Server Management Studio)에서 세분화된 처리 작업을 수행하거나 타사 도구 또는 스크립트를 사용할 수 있습니다.You can perform fine-grained processing tasks in SQL Server Management Studio (SSMS) as shown below, or by using third-party tools or scripts.

SSMS의 프로세스 테이블

Refresh TMSL 명령의 재정의Overrides in Refresh TMSL command

명령(TMSL)의 재정의를 통해 사용자는 새로 고침 작업의 다른 파티션 쿼리 정의 또는 데이터 원본 정의를 선택할 수 있습니다.Overrides in Refresh command (TMSL) allow users choosing a different partition query definition or data source definition for the refresh operation. 현재 Power BI Premium에서는 재정의가 지원되지 않습니다.Currently, overrides are not supported in Power BI Premium. “Power BI Premium에서는 확장 바인딩이 허용되지 않습니다.An error, "Out-of-line binding is not allowed in Power BI Premium. 자세한 내용은 제품 설명서의 ‘XMLA 읽기/쓰기 지원’을 참조하세요.”For additional information, see 'XMLA read/write support' in the product documentation." 가 반환됩니다.is returned.

SSMS의 오류 - Premium Gen2Errors in SSMS - Premium Gen 2

쿼리 실행Query execution

Premium Gen2 용량의 작업 영역에 연결된 경우 SQL Server Management Studio에 다음 오류가 표시될 수 있습니다.When connected to a workspace in a Premium Gen2 capacity, SQL Server Management Studio may display the following error:

Executing the query ...
Error -1052311437:

이는 SSMS v18.7.1과 함께 설치된 클라이언트 라이브러리가 세션 추적을 지원하지 않기 때문에 발생합니다.This occurs because client libraries installed with SSMS v18.7.1 do not support session tracing. 이 문제는 SSMS의 향후 릴리스에서 해결될 예정입니다.This will be resolved in an upcoming release of SSMS.

새로 고침 작업Refresh operations

SSMS v18.7.1 이하를 사용하여 Premium Gen2 용량의 데이터 세트에서 장기 실행(1분 초과) 새로 고침 작업을 수행하는 경우, 새로 고침 작업이 성공하더라도 SSMS에서 다음과 같은 오류를 표시할 수 있습니다.When using SSMS v18.7.1 or lower to perform a long running (>1 min) refresh operation on a dataset in a Premium Gen2 capacity, SSMS may display an error like the following even though the refresh operation succeeds:

Executing the query ...
Error -1052311437:
The remote server returned an error: (400) Bad Request.

Technical Details:
RootActivityId: 3716c0f7-3d01-4595-8061-e6b2bd9f3428
Date (UTC): 11/13/2020 7:57:16 PM
Run complete

이는 새로 고침 요청의 상태가 올바르지 않게 추적되는 클라이언트 라이브러리의 알려진 문제 때문입니다.This is due to a known issue in the client libraries where the status of the refresh request is incorrectly tracked. 이 문제는 SSMS의 향후 릴리스에서 해결될 예정입니다.This will be resolved in an upcoming release of SSMS.

참고 항목See also

XMLA 엔드포인트로 데이터 세트 연결Dataset connectivity with the XMLA endpoint
서비스 주체를 사용하여 Premium 작업 영역 및 데이터 세트 작업 자동화Automate Premium workspace and dataset tasks with service principals
Excel에서 분석 문제 해결Troubleshooting Analyze in Excel
테이블 형식 모델 솔루션 배포Tabular model solution deployment