저장 프로시저 만들기

모든 저장 프로시저는 CLR(공용 언어 런타임) 또는 COM(구성 요소 개체 모델) 클래스와 연결되어야 사용할 수 있습니다. 대개 Microsoft ActiveX® DLL(동적 연결 라이브러리) 형태로 이러한 클래스가 서버에 설치되어 있어야 하며 서버나 Analysis Services 데이터베이스에 어셈블리로 등록되어 있어야 합니다.

저장 프로시저는 서버나 데이터베이스에 등록됩니다. 서버 저장 프로시저는 모든 쿼리 컨텍스트에서 호출할 수 있지만 데이터베이스 저장 프로시저는 데이터베이스 컨텍스트가 저장 프로시저가 정의되어 있는 데이터베이스인 경우에만 액세스할 수 있습니다. 한 어셈블리의 함수에서 다른 어셈블리의 함수를 호출하는 경우 두 어셈블리를 모두 동일한 컨텍스트(서버 또는 데이터베이스)에 등록해야 합니다. 서버 또는 서버에 배포된 MicrosoftSQL ServerAnalysis Services 데이터베이스의 경우 SQL Server Management Studio를 사용하여 어셈블리를 등록할 수 있습니다. Analysis Services 프로젝트의 경우 Analysis Services 디자이너를 사용하여 프로젝트에 어셈블리를 등록할 수 있습니다.

보안 정보보안 정보

COM 어셈블리는 보안 위험을 내포할 수 있습니다. 이러한 위험 및 기타 고려 사항으로 인해 COM 어셈블리는 SSAS(SQL Server 2008 Analysis Services)에서 더 이상 사용되지 않습니다. COM 어셈블리는 다음 릴리스에서 지원되지 않을 수 있습니다.

서버 어셈블리 등록

SQL Server Management Studio의 개체 탐색기에서 서버 어셈블리는 Analysis Services 인스턴스 아래의 어셈블리 폴더에 나열됩니다. 서버 어셈블리는 .NET(CLR) 어셈블리와 COM 라이브러리를 모두 포함할 수 있습니다.

서버 어셈블리를 만들려면

  1. 개체 탐색기에서 Analysis Services 인스턴스를 확장하고 어셈블리 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 어셈블리를 클릭합니다. 서버 어셈블리 등록대화 상자가 나타납니다.

  2. 유형에 어셈블리의 유형을 지정합니다.

    • 관리 코드(CLR) DLL의 경우 .NET 어셈블리를 지정합니다.

    • 네이티브 코드(COM) DLL의 경우 COM DLL을 지정합니다.

  3. 파일 이름에 저장 프로시저를 포함하는 DLL을 지정합니다.

  4. 어셈블리 이름에 어셈블리의 이름을 지정합니다.

  5. 저장 프로시저를 디버깅하는 데 사용하려는 라이브러리의 디버그 빌드인 경우 디버그 정보 포함 확인란을 선택합니다. 저장 프로시저를 디버깅하는 방법은 저장 프로시저 디버깅을 참조하십시오.

  6. 확인을 클릭하여 어셈블리를 즉시 등록하거나 대화 상자의 도구 모음에서 스크립트 메뉴의 명령을 클릭하여 등록 태스크를 쿼리 창, 파일 또는 클립보드에 스크립팅할 수 있습니다.

서버 어셈블리를 등록한 후에는 개체 탐색기에서 해당 어셈블리를 마우스 오른쪽 단추로 클릭하고 속성을 클릭하여 서버 어셈블리를 구성할 수 있습니다.

서버에서 데이터베이스 어셈블리 등록

SQL Server Management Studio의 개체 탐색기에서 데이터베이스 어셈블리는 Analysis Services 인스턴스 아래의 어셈블리 폴더에 나열됩니다. 데이터베이스 어셈블리는 .NET(CLR) 어셈블리와 COM 라이브러리를 모두 포함할 수 있습니다.

서버에서 데이터베이스 어셈블리를 등록하려면

  1. 개체 탐색기에서 Analysis Services 데이터베이스 인스턴스를 확장하고 어셈블리 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 어셈블리를 클릭합니다. 데이터베이스 어셈블리 등록대화 상자가 나타납니다.

  2. 유형에 어셈블리의 유형을 지정합니다.

    • 관리 코드(CLR) DLL의 경우 .NET 어셈블리를 지정합니다.

    • 네이티브 코드(COM) DLL의 경우 COM DLL을 지정합니다.

  3. 파일 이름에 저장 프로시저를 포함하는 DLL을 지정합니다.

  4. 어셈블리 이름에 어셈블리의 이름을 지정합니다.

  5. 저장 프로시저를 디버깅하는 데 사용하려는 라이브러리의 디버그 빌드인 경우 디버그 정보 포함 확인란을 선택합니다. 저장 프로시저를 디버깅하는 방법은 저장 프로시저 디버깅을 참조하십시오.

  6. 확인을 클릭하여 어셈블리를 즉시 등록하거나 대화 상자의 도구 모음에서 스크립트 메뉴의 명령을 클릭하여 등록 태스크를 쿼리 창, 파일 또는 클립보드에 스크립팅할 수 있습니다.

데이터베이스 어셈블리를 등록한 후에는 개체 탐색기에서 해당 어셈블리를 마우스 오른쪽 단추로 클릭하고 속성을 클릭하여 데이터베이스 어셈블리를 구성할 수 있습니다.

프로젝트에 데이터베이스 어셈블리 등록

Business Intelligence Development Studio의 솔루션 탐색기에서 데이터베이스 어셈블리는 Analysis Services 프로젝트 아래의 어셈블리 폴더에 나열됩니다. 데이터베이스 어셈블리는 .NET(CLR) 어셈블리와 COM 라이브러리를 모두 포함할 수 있습니다.

Analysis Service 프로젝트에서 데이터베이스 어셈블리를 만들려면

  1. 개체 탐색기에서 Analysis Services 데이터베이스 인스턴스를 확장하고 어셈블리 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 어셈블리 참조를 클릭합니다. 참조 추가 대화 상자가 나타납니다. 참조 추가 대화 상자의 .NET 탭에는 기존 .NET (CLR) 어셈블리가 나열되고 프로젝트 탭에는 프로젝트가 나열됩니다.

  2. 기존 구성 요소나 프로젝트를 클릭한 다음 추가를 클릭하여 Analysis Services 프로젝트에 추가할 수 있습니다. COM DLL에 대한 참조를 추가하려면 찾아보기 탭을 클릭하여 파일을 찾습니다. 선택한 프로젝트 및 구성 요소 목록에는 프로젝트에 추가할 각 구성 요소의 이름, 유형, 버전 및 위치가 표시됩니다.

  3. 추가할 구성 요소를 선택한 후에는 확인을 클릭하여 선택한 구성 요소를 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>