Integration Services 업그레이드
적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime
SQL Server 2008 Integration Services(SSIS) 이상이 현재 컴퓨터에 설치된 경우 SQL Server 2019 Integration Services(SSIS)로 업그레이드할 수 있습니다.
이러한 이전 버전의 Integration Services 중 하나가 설치된 컴퓨터에서 SQL Server 2019 Integration Services(SSIS)로 업그레이드하면 SQL Server 2019 Integration Services(SSIS)가 이전 버전과 나란히 설치됩니다.
함께 설치하면 여러 버전의 dtexec 유틸리티가 설치됩니다. 올바른 버전의 유틸리티가 실행되도록 하려면 명령 프롬프트에서 전체 경로(<drive>:\Program Files\Microsoft SQL Server\<version>\DTS\Binn)를 입력하는 방식으로 유틸리티를 실행합니다. dtexec에 대한 자세한 내용은 dtexec Utility를 참조하십시오.
참고
이전 버전의 SQL Server에서는 SQL Server를 설치한 경우 기본적으로 로컬 사용자 및 그룹에 있는 사용자 그룹의 모든 멤버가 Integration Services 서비스에 액세스할 수 있었습니다. SQL Server 2016(13.x) 이상을 설치하면 사용자에게 Integration Services 서비스에 대한 액세스 권한이 부여되지 않습니다. 이 서비스에는 기본적으로 보안이 적용됩니다. SQL Server가 설치된 후 SQL Server 관리자는 DCOM 구성 도구(Dcomcnfg.exe)를 실행하여 Integration Services 서비스에 대한 액세스 권한을 특정 사용자에게 부여해야 합니다. 자세한 내용은 Integration Services 서비스(SSIS 서비스)를 참조하세요.
Integration Services를 업그레이드하기 전에
SQL Server 2019(15.x)로 업그레이드하기 전에 먼저 업그레이드 관리자를 실행하는 것이 좋습니다. 업그레이드 관리자는 기존 Integration Services 패키지를 SQL Server 2019(15.x)에서 사용되는 새로운 패키지 형식으로 마이그레이션하는 경우 발생할 수 있는 문제를 보고합니다.
참고
DTS(데이터 변환 서비스) 패키지의 마이그레이션 또는 실행을 지원하는 기능은 SQL Server 2012에서 더 이상 사용되지 않습니다. 다음 DTS 기능이 더 이상 사용되지 않습니다.
- DTS 런타임
- DTS API
- DTS 패키지를 Integration Services의 다음 버전으로 마이그레이션하기 위한 패키지 마이그레이션 마법사
- SQL Server Management Studio의 DTS 패키지 유지 관리 지원
- DTS 2000 패키지 실행 태스크
- DTS 패키지의 업그레이드 관리자 검색입니다.
지원되지 않는 다른 기능에 대한 자세한 내용은 SQL Server 2016에서 지원되지 않는 Integration Services 기능을 참조하세요.
Integration Services 업그레이드
다음 방법 중 하나를 사용하여 업그레이드할 수 있습니다.
SQL Server 2019(15.x) 설치 프로그램을 실행하고 SQL Server 2008, SQL Server 2008 R2, SQL Server 2012(11.x) 또는 SQL Server 2014(12.x)에서 업그레이드 옵션을 선택합니다.
명령 프롬프트에서 setup.exe 를 실행하고 /ACTION=upgrade 옵션을 지정합니다. 자세한 내용은 명령 프롬프트에서 SQL Server 2016 설치의 "Integration Services용 설치 스크립트" 섹션을 참조하세요.
다음 동작은 업그레이드를 사용하여 수행할 수 없습니다.
Integration Services의 기존 설치 다시 구성
SQL Server 32비트에서 64비트 버전으로 전환, 또는 64비트 버전에서 32비트 버전으로 전환
SQL Server의 한 언어 버전에서 다른 언어 버전으로 전환
업그레이드할 때 Integration Services와 데이터베이스 엔진을 모두 업그레이드하거나, 데이터베이스 엔진만 업그레이드하거나, Integration Services만 업그레이드할 수 있습니다. 데이터베이스 엔진만 업그레이드하는 경우 SQL Server 2008 Integration Services(SSIS) 이상은 계속 작동하지만 SQL Server 2019 Integration Services(SSIS)의 기능은 사용할 수 없습니다. Integration Services만 업그레이드하는 경우 SQL Server 2019 Integration Services(SSIS)가 완벽하게 작동하지만 SQL Server 데이터베이스 엔진의 인스턴스를 다른 컴퓨터에서 사용할 수 없는 한 파일 시스템에만 패키지를 저장할 수 있습니다.
Integration Services와 데이터베이스 엔진 모두 SQL Server 2019(15.x)로 업그레이드
이 섹션에서는 다음 조건에 해당하는 업그레이드를 수행할 때 나타나는 결과에 대해 설명합니다.
Integration Services 및 데이터베이스 엔진 인스턴스 모두 SQL Server 2019(15.x)로 업그레이드합니다.
Integration Services와 데이터베이스 엔진 인스턴스는 모두 동일한 컴퓨터에 있습니다.
업그레이드 프로세스에서 수행하는 태스크
업그레이드 프로세스에서는 다음 태스크를 수행합니다.
SQL Server 2019 Integration Services(SSIS) 파일, 서비스 및 도구(Management Studio 및 SQL Server Data Tools)를 설치합니다. 동일한 컴퓨터에 SQL Server 2008(10.0.x), SQL Server 2008 R2(10.50.x), SQL Server 2012(11.x) 또는 SQL Server 2014(12.x)의 여러 인스턴스가 있는 경우 인스턴스를 처음으로 SQL Server 2019(15.x)로 업그레이드하면 SQL Server 2019 Integration Services(SSIS) 파일, 서비스 및 도구가 설치됩니다.
SQL Server 2008(10.0.x), SQL Server 2008 R2(10.50.x), SQL Server 2012(11.x) 또는 SQL Server 2014(12.x) 데이터베이스 엔진 인스턴스를 SQL Server 2019(15.x) 버전으로 업그레이드합니다.
다음과 같이 SQL Server 2008 Integration Services(SSIS) 이상의 시스템 테이블에서 SQL Server 2019 Integration Services(SSIS) 시스템 테이블로 데이터를 이동합니다.
msdb.dbo.sysdtspackages90 시스템 테이블에서 msdb.dbo.sysssispackages 시스템 테이블로 패키지를 변경하지 않고 이동합니다.
참고
데이터를 다른 시스템 테이블로 이동하지만 패키지를 새 형식으로 마이그레이션하지는 않습니다.
msdb.sysdtsfolders90 시스템 테이블에서 msdb.sysssisfolders 시스템 테이블로 폴더 메타데이터를 이동합니다.
msdb.sysdtslog90 시스템 테이블에서 msdb.sysssislog 시스템 테이블로 로그 데이터를 이동합니다.
데이터를 새 msdb.sysssis* 테이블로 이동한 후 msdb.sysdts*90 시스템 테이블 및 이 시스템 테이블에 액세스하는 데 사용되는 저장 프로시저를 제거합니다. 그러나 업그레이드하면 sysdtslog90 테이블은 똑같이 sysdtslog90이라는 이름을 가진 뷰로 대체됩니다. 이 새 sysdtslog90 뷰에는 새 msdb.sysssislog 시스템 테이블이 표시됩니다. 이를 통해 로그 테이블 기반의 보고서가 중단 없이 계속 실행됩니다.
패키지에 대한 액세스를 제어하기 위해 세 가지 새로운 고정 데이터베이스 수준 역할인 db_ssisadmin, db_ssisltduser 및 db_ssisoperator를 만듭니다. db_dtsadmin, db_dtsltduser 및 db_dtsoperator의 SQL Server 2005(9.x) Integration Services 역할은 제거되지 않고 해당하는 새 역할의 멤버가 됩니다.
SSIS 패키지 저장소(Integration Services 서비스에서 관리하는 파일 시스템 위치)가 \SQL Server\90, \SQL Server\100, \SQL Server\110, or \SQL Server\120 아래의 기본 위치에 있으면 해당 패키지를 \SQL Server\130 아래의 새 기본 위치로 이동합니다.
업그레이드된 데이터베이스 엔진 인스턴스를 가리키도록 Integration Services 서비스 구성 파일을 업데이트합니다.
업그레이드 프로세스에서 수행하지 않는 태스크
업그레이드 프로세스에서는 다음 태스크를 수행하지 않습니다.
SQL Server 2008 Integration Services(SSIS) 이상 서비스를 제거하지 않습니다.
기존 Integration Services 패키지를 SQL Server 2019(15.x)에서 사용하는 새 패키지 형식으로 마이그레이션하지 않습니다. 패키지를 마이그레이션하는 방법은 Integration Services 패키지 업그레이드를 참조하세요.
서비스 구성 파일에 추가된 기본 위치가 아닌 파일 시스템 위치에서 패키지를 이동하지 않습니다. 이전에 서비스 구성 파일을 편집하여 파일 시스템 폴더를 추가한 경우 이러한 폴더에 저장된 패키지는 새 위치로 이동되지 않습니다.
SQL Server Agent 에이전트에서 dtexec 유틸리티(dtexec.exe)를 직접 호출하는 작업 단계는 dtexec 유틸리티에 대한 파일 시스템 경로를 업데이트하지 않습니다. 이러한 작업 단계는 수동으로 편집하여 SQL Server 2019(15.x) dtexec 유틸리티에 대한 위치를 지정하도록 파일 시스템 경로를 업데이트해야 합니다.
업그레이드한 후 수행할 수 있는 태스크
업그레이드 프로세스가 완료되면 다음 태스크를 수행할 수 있습니다.
패키지를 실행하는 SQL Server 에이전트 작업을 실행합니다.
Management Studio를 사용하여 SQL Server 2008(10.0.x), SQL Server 2008 R2(10.50.x), SQL Server 2012(11.x) 또는 SQL Server 2014(12.x) 인스턴스에 저장된 Integration Services 패키지를 관리합니다. SQL Server 2008(10.0.x), SQL Server 2008 R2(10.50.x), SQL Server 2012(11.x) 또는 SQL Server 2014(12.x) 인스턴스를 서비스에서 관리하는 위치 목록에 추가하려면 서비스 구성 파일을 수정해야 합니다.
참고
Management Studio 초기 버전은 SQL Server 2019 Integration Services(SSIS) 서비스에 연결할 수 없습니다.
packageformat 열의 값을 확인하여 msdb.dbo.sysssispackages 시스템 테이블에서 패키지 버전을 식별합니다. 테이블에는 각 패키지의 버전을 식별하는 packageformat 열이 있습니다. 값 3은 SQL Server 2008 Integration Services(SSIS) 패키지를 나타냅니다. 패키지를 새 패키지 형식으로 마이그레이션할 때까지 packageformat 열 값은 변경되지 않습니다.
SQL Server 2008(10.0.x), SQL Server 2008 R2(10.50.x), SQL Server 2012(11.x) 또는 SQL Server 2014(12.x) 도구를 사용하여 Integration Services 패키지를 디자인, 실행 또는 관리할 수 없습니다. SQL Server 2008(10.0.x), SQL Server 2008 R2(10.50.x), SQL Server 2012(11.x) 또는 SQL Server 2014(12.x) 도구에는 해당 버전의 SSDT(SQL Server Data Tools), SQL Server 가져오기 및 내보내기 마법사 및 패키지 실행 유틸리티(dtexecui.exe)가 포함됩니다. 업그레이드 프로세스는 SQL Server 2008(10.0.x), SQL Server 2008 R2(10.50.x), SQL Server 2012(11.x) 또는 SQL Server 2014(12.x) 도구를 제거하지 않습니다. 그러나 이러한 도구를 사용하여 업그레이드된 서버에서 SQL Server 2008 Integration Services(SSIS) 이상 패키지로 계속 작업할 수는 없습니다.
기본적으로 업그레이드 설치의 경우 Integration Services는 패키지 실행과 관련된 이벤트를 애플리케이션 이벤트 로그에 로깅하도록 구성됩니다. SQL Server 2019(15.x)의 데이터 수집기 기능을 사용하는 경우 이 설정으로 인해 이벤트 로그 항목이 너무 많이 생성될 수 있습니다. 로그되는 이벤트에는 EventID 12288, "패키지 시작됨" 및 EventID 12289, "패키지가 성공적으로 완료됨"이 포함됩니다. 이 두 이벤트를 애플리케이션 이벤트 로그에 기록하는 것을 중지하려면 편집할 레지스트리를 엽니다. 그런 다음 레지스트리에서 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\130\SSIS 노드를 찾고 LogPackageExecutionToEventLog 설정의 DWORD 값을 1에서 0으로 변경합니다.
데이터베이스 엔진만 SQL Server 2019(15.x)로 업그레이드
이 섹션에서는 다음 조건에 해당하는 업그레이드를 수행할 때 나타나는 결과에 대해 설명합니다.
데이터베이스 엔진 인스턴스만 업그레이드합니다. 즉, 데이터베이스 엔진 인스턴스는 이제 SQL Server 2019(15.x)의 인스턴스이지만 Integration Services 및 클라이언트 도구의 인스턴스는 SQL Server 2008(10.0.x), SQL Server 2008 R2(10.50.x), SQL Server 2012(11.x) 또는 SQL Server 2014(12.x)의 인스턴스입니다.
데이터베이스 엔진 인스턴스가 한 컴퓨터에 있고 Integration Services 및 클라이언트 도구가 다른 컴퓨터에 있는 경우
업그레이드한 후 수행할 수 있는 태스크
업그레이드된 Integration Services 인스턴스에서 패키지를 저장하는 시스템 테이블은 SQL Server 2008(10.0.x)에서 사용되는 시스템 테이블과 다릅니다. 따라서 SQL Server 2008(10.0.x) 버전의 Management Studio 및 SQL Server Data Tools는 데이터베이스 엔진 업그레이드된 인스턴스의 시스템 테이블에서 패키지를 검색할 수 없습니다. 이러한 패키지는 검색할 수 없으므로 이에 대해 수행할 수 있는 작업은 다음과 같이 제한됩니다.
다른 컴퓨터에서는 SQL Server 2008(10.0.x) 도구(Management Studio 및 SQL Server Data Tools)를 사용하여 데이터베이스 엔진의 업그레이드된 인스턴스에서 패키지를 로드하거나 관리할 수 없습니다.
참고
업그레이드된 데이터베이스 엔진 인스턴스의 패키지가 아직 새 패키지 형식으로 마이그레이션되지 않은 경우에도 이러한 패키지는 SQL Server 2008(10.0.x) 도구로 검색할 수 없습니다. 따라서 SQL Server 2008(10.0.x) 도구에서 이러한 패키지를 사용할 수 없습니다.
업그레이드된 SQL Server 2008 Integration Services(SSIS) 인스턴스의 msdb에 저장된 패키지는 다른 컴퓨터의 데이터베이스 엔진을 사용하여 실행할 수 없습니다.
SQL Server 2008(10.0.x) 컴퓨터에서 SQL Server 에이전트 작업을 사용하여 데이터베이스 엔진의 업그레이드된 인스턴스에 저장된 SQL Server 2008 Integration Services(SSIS) 패키지를 실행할 수 없습니다.
외부 리소스
blogs.msdn.com의 블로그 항목 - 기존 사용자 지정 SSIS 확장 프로그램 및 애플리케이션을 Denali에서 사용되도록 설정