DTS 응용 프로그램 속성 설정

새 설치: 2005년 12월 5일

SQL Server 2000 DTS(데이터 변환 서비스) 패키지를 실행해야 하는 SQL Server 2005 Integration Services(SSIS) 사용자를 위해 Microsoft에서는 SQL Server 2005 Integration Services(SSIS) 설치의 일부로 업데이트 버전의 DTS 런타임 엔진을 제공하고 웹 다운로드의 일부로 업데이트 버전의 DTS 디자이너를 제공합니다. SQL Server 2005 도구를 사용하면 친숙한 디자이너 및 런타임 엔진을 통해 거의 모든 DTS 기능에 액세스할 수 있습니다.

그러나 더 이상 SQL Server 2005 도구를 사용하여 DTS 패키지 속성 대화 상자의 응용 프로그램 차원 설정에 액세스할 수 없습니다. SQL Server 2000 엔터프라이즈 관리자에서는 데이터 변환 서비스 노드의 팝업 메뉴에서 속성을 선택하여 이 대화 상자에 액세스했습니다. 이 항목에서는 이러한 설정에 대해 설명하고 해당하는 레지스트리 항목을 편집하여 수동으로 또는 레지스트리 항목을 수정해 주는 DTS 개체 모델의 해당 메서드를 호출하여 프로그래밍 방식으로 해당 설정을 구성하는 방법에 대해 설명합니다.

DTS 응용 프로그램 속성

이 항목에서는 다음 DTS 응용 프로그램 속성에 대해 설명합니다.

  • 캐시: 캐시 설정(확인란)
    성능 향상을 위해 사용 가능한 작업, 변환, 스크립팅 언어 및 OLE DB 공급자 목록을 캐시합니다.
  • 캐시: 캐시 새로 고침(단추)
    위에서 설명한 캐시된 목록을 새로 고칩니다.
  • 디자이너: DTS 디자이너의 다중 단계 펌프 표시
    "원본 데이터 변환 전 처리" 또는 "변환이 실패한 경우"와 같은 데이터 변환의 특정 단계를 개별적으로 구성할 수 있도록 하는 고급 옵션 표시를 설정합니다.
  • 디버깅: Just-In-Time 디버깅 설정
    개발자가 사용자 지정 작업을 디버깅을 할 수 있도록 설정합니다.
  • 메타데이터 서비스: 메타데이터 서비스로 저장 가능
    패키지를 메타데이터 서비스(리포지토리)로 저장할 수 있도록 허용합니다.

[!참고] SQL Server 2005에서는 리포지토리를 제한적으로 지원합니다. 자세한 내용은 SQL Server 2005 Integration Services의 이전 버전과의 호환성의 "메타데이터 서비스(리포지토리) 패키지"를 참조하십시오.

레지스트리에서 DTS 응용 프로그램 속성 설정

레지스트리를 직접 수정하여 다음 DTS 응용 프로그램 속성을 수동으로 설정하거나 해제하려면 부모 키인 HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\DTS\Settings 아래에 있는 다음 REG_DWORD 값을 0(설정) 또는 1(해제)로 설정합니다.

  • 캐시 설정
    TasksCache

    TransformationsCache

    ScriptingLanguagesCache

    OLEDBProvidersCache

  • DTS 디자이너의 다중 단계 펌프 표시
    DesignerSettings
  • Just-In-Time 디버깅 설정
    JITDebug

[!참고] 레지스트리 값을 편집하여 캐시를 새로 고칠 수는 없습니다. 캐시는 프로그래밍 방식으로만 새로 고칠 수 있습니다.

레지스트리를 직접 수정하여 다음 DTS 응용 프로그램 속성을 수동으로 설정하거나 해제하려면 부모 키인 HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\80\DTS\Settings 아래에 있는 다음 REG_DWORD 값을 0(설정) 또는 1(해제)로 설정합니다.

  • 메타데이터 서비스로 저장 가능
    EnableSaveToRepository
ms345198.Caution(ko-kr,SQL.90).gif주의:
메타데이터 서비스로 저장 가능 속성을 설정하면 패키지 속성 대화 상자에 다음 경고가 표시됩니다. "경고: 메타데이터 서비스에 저장한 패키지는 안전하지 않습니다. 메타데이터 서비스에 패키지를 저장하시겠습니까?"

예제 레지스트리 스크립트

다음 레지스트리 스크립트를 확장명이 .reg인 텍스트 파일에 저장한 다음 실행하면 이 항목에서 설명하는 모든 DTS 응용 프로그램 속성이 설정됩니다. 속성을 해제하려면 새 값을 00000001에서 00000000으로 변경합니다.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\DTS\Settings]
"TasksCache"=dword:00000001
"TransformationsCache"=dword:00000001
"ScriptingLanguagesCache"=dword:00000001
"OLEDBProvidersCache"=dword:00000001
"DesignerSettings"=dword:00000001
"JITDebug"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\80\DTS\Settings]
"EnableSaveToRepository"=dword:00000001

DTS 개체 모델에서 DTS 응용 프로그램 속성 설정

다음 DTS 응용 프로그램 속성을 프로그래밍 방식으로 설정하거나 해제하려면 DTS Application 개체의 다음 값을 True(설정) 또는 False(해제)로 설정합니다.

  • 캐시 설정
    .TaskInfos.UseCache

    .TransformationInfos.UseCache

    .ScriptingLanguageInfos.UseCache

    .OLEDBProviderInfos.UseCache

  • Just-In-Time 디버깅 설정
    .JITDebug

다음 DTS 응용 프로그램 속성을 프로그래밍 방식으로 설정하거나 해제하려면 DTS Application 개체의 다음 값을 DTSDesignerSettings 열거의 해당 값으로 설정합니다.

  • 설정 - DTSDesignerSettings.DTSDesigner_ShowMultiPhaseTransforms
  • 해제 - DTSDesignerSettings.DTSDesigner_Default
  • DTS 디자이너의 다중 단계 펌프 표시
    .DesignerSettings

메타데이터 서비스로 저장 가능 속성의 값은 DTS 개체 모델을 사용하여 설정할 수 없습니다. 이 속성은 다음 예에서 볼 수 있는 것과 같이 .NET Framework 클래스 라이브러리의 Microsoft.Win32 네임스페이스에 있는 Registry 클래스를 사용하여 설정할 수 있습니다.

예제 코드

콘솔 응용 프로그램을 위한 다음 코드 예제를 컴파일한 다음 실행하면 이 항목에서 설명하는 모든 DTS 응용 프로그램 속성이 설정됩니다. 옵션을 해제하려면 새 값을 True에서 False로 변경하고 DesignerSettings 속성의 값을 DTSDesignerSettings.DTSDesigner_Default로 변경합니다.

이 응용 프로그램에는 Microsoft DTSPackage Object Library(COM)에 대한 참조가 필요합니다.

메타데이터 서비스로 저장 가능 옵션의 값은 레지스트리를 직접 수정하는 방법으로만 설정할 수 있습니다.

Imports Microsoft.Win32
Imports DTS

Module SetDTSProperties

  Sub Main()

    Const SETTINGS_ROOT_KEY As String = "Software\Microsoft\Microsoft SQL Server\80\DTS\Settings"
    Const METADATASERVICES_VALUE As String = "EnableSaveToRepository"

    Dim dtsApp As New DTS.Application
    Dim keySettingsRoot As RegistryKey

    With dtsApp
      .TaskInfos.UseCache = True
      .TransformationInfos.UseCache = True
      .ScriptingLanguageInfos.UseCache = True
      .OLEDBProviderInfos.UseCache = True
      .DesignerSettings = DTSDesignerSettings.DTSDesigner_ShowMultiPhaseTransforms
      .JITDebug = True
    End With

    keySettingsRoot = Registry.LocalMachine.OpenSubKey(SETTINGS_ROOT_KEY, True)
    If keySettingsRoot Is Nothing Then
      keySettingsRoot = Registry.LocalMachine.CreateSubKey(SETTINGS_ROOT_KEY)
    End If
    With keySettingsRoot
      .SetValue(METADATASERVICES_VALUE, Math.Abs(CType(True, Integer)))
      .Close()
    End With

  End Sub

End Module
using Microsoft.Win32;
using DTS;

class SetDTSProperties
{

  public static void Main()
  {

    const string SETTINGS_ROOT_KEY = "Software\\Microsoft\\Microsoft SQL Server\\80\\DTS\\Settings";
    const string METADATASERVICES_VALUE = "EnableSaveToRepository";

    DTS.Application dtsApp = new DTS.Application();
    RegistryKey keySettingsRoot;

    {
      dtsApp.TaskInfos.UseCache = true;
      dtsApp.TransformationInfos.UseCache = true;
      dtsApp.ScriptingLanguageInfos.UseCache = true;
      dtsApp.OLEDBProviderInfos.UseCache = true;
      dtsApp.DesignerSettings = DTSDesignerSettings.DTSDesigner_ShowMultiPhaseTransforms;
      dtsApp.JITDebug = true;
    }

    keySettingsRoot = Registry.LocalMachine.OpenSubKey(SETTINGS_ROOT_KEY, true);
    if (keySettingsRoot==null)
    {
      keySettingsRoot = Registry.LocalMachine.CreateSubKey(SETTINGS_ROOT_KEY);
    }
    {
      keySettingsRoot.SetValue(METADATASERVICES_VALUE, Math.Abs((int) true));
      keySettingsRoot.Close();
    }

  }

}

가능한 경우 응용 프로그램에 다음 서브루틴을 추가하여 캐시를 새로 고칠 수 있습니다. 캐시된 값은 레지스트리의 HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\DTS\Enumeration에 저장됩니다.

  Private Sub RefreshCache()

    Me.Cursor = Cursors.WaitCursor
    With dtsApp
      .TaskInfos.Refresh()
      .TransformationInfos.Refresh()
      .ScriptingLanguageInfos.Refresh()
      .OLEDBProviderInfos.Refresh()
    End With
    Me.Cursor = Cursors.Default

  End Sub
  private void RefreshCache()
  {

    this.Cursor = Cursors.WaitCursor;
    {
      dtsApp.TaskInfos.Refresh();
      dtsApp.TransformationInfos.Refresh();
      dtsApp.ScriptingLanguageInfos.Refresh();
      dtsApp.OLEDBProviderInfos.Refresh();
    }
    this.Cursor = Cursors.Default;

  }

참고 항목

개념

SQL Server 2005 Integration Services의 이전 버전과의 호환성
데이터 변환 서비스 업그레이드 또는 마이그레이션

도움말 및 정보

SQL Server 2005 지원 받기