저장 프로시저 만들기
적용 대상: SQL Server Analysis Services Azure Analysis Services 패브릭/Power BI Premium
모든 저장 프로시저는 CLR(공용 언어 런타임) 또는 COM(구성 요소 개체 모델) 클래스와 연결되어야 사용할 수 있습니다. 클래스는 일반적으로 Microsoft ActiveX® DLL(동적 링크 라이브러리) 형식으로 서버에 설치되고 서버 또는 SQL Server Analysis Services 데이터베이스에서 어셈블리로 등록되어야 합니다.
저장 프로시저는 서버나 데이터베이스에 등록됩니다. 서버 저장 프로시저는 모든 쿼리 컨텍스트에서 호출할 수 있지만 데이터베이스 저장 프로시저는 데이터베이스 컨텍스트가 저장 프로시저가 정의되어 있는 데이터베이스인 경우에만 액세스할 수 있습니다. 한 어셈블리의 함수에서 다른 어셈블리의 함수를 호출하는 경우 두 어셈블리를 모두 동일한 컨텍스트(서버 또는 데이터베이스)에 등록해야 합니다. 서버 또는 배포된 Microsoft SQL Server SQL Server Analysis Services 데이터베이스의 경우 SQL Server Management Studio 사용하여 어셈블리를 등록할 수 있습니다. SQL Server Analysis Services 프로젝트의 경우 SQL Server Analysis Services Designer 사용하여 프로젝트에 어셈블리를 등록할 수 있습니다.
중요
COM 어셈블리는 보안 위험을 내포할 수 있습니다. 이러한 위험 및 기타 고려 사항으로 인해 COM 어셈블리는 SQL Server 2008 Analysis Services(SSAS)에서 더 이상 사용되지 않습니다. COM 어셈블리는 후속 릴리스에서 지원되지 않을 수 있습니다.
서버 어셈블리 등록
SQL Server Management Studio 개체 탐색기 서버 어셈블리는 SQL Server Analysis Services instance 어셈블리 폴더에 나열됩니다. 서버 어셈블리는 .NET(CLR) 어셈블리와 COM 라이브러리를 모두 포함할 수 있습니다.
서버 어셈블리를 만들려면
개체 탐색기 SQL Server Analysis Services instance 확장하고 어셈블리 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 어셈블리를 클릭합니다. 그러면 서버 어셈블리 등록 대화 상자가 표시됩니다.
형식에 어셈블리의 형식을 지정합니다.
관리 코드(CLR) DLL의 경우 .NET 어셈블리를 지정합니다.
네이티브 코드(COM) DLL의 경우 COM DLL을 지정합니다.
파일 이름에 저장 프로시저가 포함된 DLL을 지정합니다.
어셈블리 이름에 어셈블리의 이름을 지정합니다.
저장 프로시저를 디버그하는 데 사용할 라이브러리의 디버그 빌드인 경우 디버그 정보 포함 검사 상자를 선택합니다. 저장 프로시저 디버깅에 대한 자세한 내용은 저장 프로시저 디버깅을 참조하세요.
확인을 클릭하여 어셈블리를 즉시 등록하거나 대화 상자 도구 모음에서 스크립트 메뉴에서 명령을 클릭하여 등록 작업을 쿼리 창, 파일 또는 클립보드에 스크립팅할 수 있습니다.
서버 어셈블리를 등록한 후 개체 탐색기 어셈블리를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭하여 구성할 수 있습니다.
서버에서 데이터베이스 어셈블리 등록
SQL Server Management Studio 개체 탐색기 데이터베이스 어셈블리는 SQL Server Analysis Services 데이터베이스 아래의 어셈블리 폴더에 나열됩니다. 데이터베이스 어셈블리는 .NET(CLR) 어셈블리와 COM 라이브러리를 모두 포함할 수 있습니다.
서버에서 데이터베이스 어셈블리를 등록하려면
개체 탐색기 SQL Server Analysis Services 데이터베이스의 instance 확장하고 어셈블리 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 어셈블리를 클릭합니다. 데이터베이스 어셈블리 등록 대화 상자가 표시됩니다.
형식에 어셈블리의 형식을 지정합니다.
관리 코드(CLR) DLL의 경우 .NET 어셈블리를 지정합니다.
네이티브 코드(COM) DLL의 경우 COM DLL을 지정합니다.
파일 이름에 저장 프로시저가 포함된 DLL을 지정합니다.
어셈블리 이름에 어셈블리의 이름을 지정합니다.
저장 프로시저를 디버그하는 데 사용할 라이브러리의 디버그 빌드인 경우 디버그 정보 포함 검사 상자를 선택합니다. 저장 프로시저 디버깅에 대한 자세한 내용은 저장 프로시저 디버깅을 참조하세요.
확인을 클릭하여 어셈블리를 즉시 등록하거나 대화 상자 도구 모음에서 스크립트 메뉴에서 명령을 클릭하여 등록 작업을 쿼리 창, 파일 또는 클립보드에 스크립팅할 수 있습니다.
데이터베이스 어셈블리를 등록한 후 개체 탐색기 어셈블리를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭하여 구성할 수 있습니다.
프로젝트에 데이터베이스 어셈블리 등록
SQL Server Data Tools 솔루션 탐색기 데이터베이스 어셈블리는 SQL Server Analysis Services 프로젝트의 어셈블리 폴더에 나열됩니다. 데이터베이스 어셈블리는 .NET(CLR) 어셈블리와 COM 라이브러리를 모두 포함할 수 있습니다.
Analysis Service 프로젝트에서 데이터베이스 어셈블리를 만들려면
개체 탐색기 SQL Server Analysis Services 데이터베이스 instance 확장하고 어셈블리 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 어셈블리 참조를 클릭합니다. 그러면 참조 추가 대화 상자가 표시됩니다. 참조 추가 대화 상자의 .NET 탭에는 기존 .NET(CLR) 어셈블리가 나열되며 프로젝트 탭에는 프로젝트가 나열됩니다.
기존 구성 요소 또는 프로젝트를 클릭한 다음 추가를 클릭하여 SQL Server Analysis Services 프로젝트에 추가할 수 있습니다. COM DLL에 대한 참조를 추가하려면 찾아보기 탭을 클릭하여 파일을 찾습니다. 선택한 프로젝트 및 구성 요소 목록에는 프로젝트에 추가하는 각 구성 요소의 이름, 유형, 버전 및 위치가 표시됩니다.
추가할 구성 요소 선택을 마쳤으면 확인을 클릭하여 SQL Server Analysis Services 프로젝트에 추가합니다.
어셈블리 스크립트 형식
.NET 어셈블리 등록 과정은 매우 단순합니다. .NET 어셈블리는 다음 형식을 사용하여 이진 형식으로 데이터베이스에 추가됩니다.
<Create>
<ObjectDefinition>
<Assembly>
<Files>
<File>
<Name>filename</Name>
<Type>filetype</Type>
<Data>
<Block>binarydatablock</Block>
<Block>binarydatablock</Block>
...
</Data>
</File>
</Files>
<PermissionSet>PermissionSet</PermissionSet>
</Assembly>
<ObjectDefinition>
</Create>