SQL Server 이야기

SQL Server 2008 업데이트 통합 설치(Slipstream Setup)

늘푸르른나 2010. 4. 25. 15:39

SQL Server가 출시될 때 설치 미디어(DVD)에 포함된 버전을 RTM(Release To Manufacturer)이라고 합니다. SQL Server 2008 RTM은 버전 넘버로는 10.0.1600.22에 해당합니다.

 

RTM 출시 후 시간이 경과함에 따라 버그나 보안 취약점 등이 발생하게 되면 이를 보완하기 위해 핫픽스(hotfix)가 만들어 지게 되며 일정 시점까지 만들어진 핫픽스들과 추가적인 개선 사항들을 포함하여 누적 업데이트(Cumulative Update) 형태로 배포가 됩니다. SQL Server 2008의 누적 업데이트는 2개월에 한 번씩 배포되는데, 지금 이 글을 쓰고 있는 현재(2010년 4월) 가장 최신의 누적 업데이트는 'Cumulative Update Package 7 for SQL Server 2008 Service Pack 1'입니다. 일반적으로 누적 업데이트는 웹을 통해 다운로드를 요청해야만 메일을 통해 다운로드 받을 수 있는 경로 정보와 압축을 해제할 수 있는 암호를 전달 받을 수 있습니다. 하지만, 누적 업데이트의 일종인 서비스 팩(Service Pack)은 웹에 공개적으로 다운로드 받을 수 있도록 게시가 되며 이런 이유로 서비스 팩을 PCU(Public Cumulative Update)라고 부르기도 합니다.

 

기본적으로 안정적인 SQL Server 운영을 위해 최신의 서비스 팩과 누적 업데이트를 적용하는 것을 권장합니다. 특히, 최신의 서비스 팩은 반드시 적용해 줘야 합니다. 따라서, SQL Server를 신규로 설치할 때나 재설치할 때 설치 미디어에 있는 RTM 버전을 설치하고 최신의 서비스 팩 및 누적 업데이트를 추가적으로 설치해 주는 작업을 하게 되는데 여러 차례에 걸쳐서 설치 작업을 해주는 것은 번거롭기도 할 뿐더러 많은 시간을 잡아 먹기도 합니다.

 

SQL Server 2008 Service Pack 1부터는 RTM 버전과 서비스 팩 및 누적 업데이트를 함께 통합하여 설치하는 방법을 제공하는데 이를 Slipstream Setup이라고 합니다. Slipstream Setup을 사용하게 되면 RTM 설치, 서비스 팩 설치, 누적 업데이트 설치와 같이 3차례에 걸쳐서 순차적으로 해주었던 작업을 단 한번의 작업으로 완료할 수 있어 많은 시간을 절약할 수 있습니다. SQL Server를 설치해야 하는 머신이 여러 대라고 하면 Slipstream Setup 방식은 더욱더 유용한 방법이 아닐 수 없습니다.

 

Slipstream Setup은 크게 두 가지의 방식이 있습니다. 하나는 설치 미디어를 그대로 사용하면서 setup.exe를 실행할 때 파라미터를 지정하는 방식으로 설치해야 하는 SQL Server 머신이 많지 않을 경우에 효과적인 방식입니다. 또 다른 하나는 설치 미디어의 파일들을 디스크에 복사하고 서비스 팩/누적 업데이트 파일들을 디스크에 함께 저장하여 하나의 새로운 설치 패키지를 만드는 방식으로 설치해야 할 SQL Server 머신이 많은 경우에 효과적인 방식입니다.

 

그럼 이제부터 두 가지 방식에 대해서 자세히 알아 보도록 하겠습니다. 참고적으로, 다음에서 설명하는 방법은 Windows Server 2008 환경에서 최신의 서비스 팩과 서비스 팩 이후에 발표된 최신의 누적 업데이트를 함께 설치하는 방법을 설명하고 있습니다.

 

 

[설치 미디어를 이용하여 최신의 업데이트를 함께 설치하는 방법]

 

1. SQL Server 2008 설치 프로그램 실행시 필요한 .NET Framework 3.5 SP1과 Windows Installer 4.5를 설치합니다(Windows Server 2008 Service Pack 2와 최신의 보안 업데이트를 모두 적용한 상태라면 .NET Framework 3.5 SP1과 Windows Installer 4.5가 이미 설치되어 있는 상태이므로 별도로 설치해 줄 필요가 없습니다). .NET Framework 3.5 SP1은 설치 미디어의 x86\redist\DotNetFrameworks\dotNetFx35setup.exe를, Windows Installer 4.5는 설치 미디어의 x86\redist\Windows Installer\x86\INSTMSI45.MSU를 각각 실행하여 설치할 수 있습니다. .NET Framework 3.5 SP1과 Windows Installer 4.5를 설치한 다음에는 시스템의 재시작이 필요합니다.  

 

2. 최신의 SQL Server 2008 서비스 팩과 누적 업데이트를 다운로드합니다. 본 설명에서는 2010년 4월 현재 최신 버전인 SQL Server 2008 Service Pack 1(SQLServer2008SP1-KB968369-x86-KOR.exe)과 Cumulative Update Package 7 for SQL Server 2008 Service Pack 1(SQLServer2008-KB979065-x86.exe)을 다운로드 받았습니다. 참고적으로 서비스 팩은 언어별로 구분이 되기 때문에 설치할 SQL Server 2008의 언어와 일치되는 것을 다운로드 받아야 하는 반면에 누적 업데이트는 언어에 중립적(Neutral)인 버전 하나만 존재하기 때문에 언어와 관계없이 해당 파일을 다운로드 받으면 됩니다.

 

3. 'SQL Server 2008 설치 지원 파일(Setup Support Files)'를 설치하기 위해 다운로드 받은 누적 업데이트 설치 파일(SQLServer2008-KB979065-x86.exe)을 더블 클릭하여 실행합니다. 다음과 같이 누적 업데이트 설치 파일을 실행하면 현재 설치되어 있는 SQL Server 인스턴스가 없기 때문에 누적 업데이트 작업은 수행하지 않고 '설치 지원 파일(Setup Support Files)'만이 설치됩니다. 이렇게 설치된 설치 지원 파일은 설치 미디어를 이용하여 setup을 실행했을 때 설치 미디어에 있는 설치 지원 파일을 대신하여 사용됩니다. 여기서 주목할 것은 서비스 팩 설치 파일을 실행하지 않고 누적 업데이트 설치 파일을 실행하여 설치 지원 파일을 설치하였다는 것입니다. 서비스 팩과 누적 업데이트를 함께 설치할 때 가장 최신 버전에 해당 하는 누적 업데이트에 포함된 설치 지원 파일을 설치해야만 정상적으로 통합 설치 작업을 진행할 수 있습니다. 

 

4. 설치 지원 파일의 설치가 완료된 후 제어판에서 '프로그램 및 기능'을 실행해 보면 다음과 같이 'Microsoft SQL Server 2008 Setup Support Files'가 설치되어 있음을 확인할 수 있습니다.

 

5. 명령 프롬프트에서 다음과 같이 명령을 실행하여 다운로드 받은 서비스 팩과 누적 업데이트 파일의 압축을  각각 해제합니다. 파라미터로 지정한 압축이 해제될 폴더는 미리 만들어 두지 않아도 자동으로 생성됩니다.

   <name of the PCU or CU package>.exe /x:<Root of path to extract to>\<PCU | CU>

 

 

 

6. 서비스 팩과 누적 업데이트 파일의 압축이 해제되어 다음과 같이 C:\SQLUpdate\PCU라는 폴더와 C:\SQLUpdate\CU라는 폴더에 각각 파일들이 생성되었음을 확인할 수 있습니다. 

 

7. 명령 프롬프트를 실행하고 SQL Server 2008 설치 미디어가 들어 있는 DVD 드라이브(예를 들어 D:)로 이동한 다음 다음과 같이 setup.exe에 파라미터 /PCUSource와 /CUSource를 지정하여 실행합니다. /PCUSource는 압축이 해제된 서비스 팩 파일들의 경로를, /CUSource는 압축이 해제된 누적 업데이트 파일들의 경로를 각각 지정합니다. 

 

8. 다름과 같이 SQL Server 설치 센터(Installation Center) 화면이 나타나면 이후부터는 일반적인 설치 작업을 진행하면 됩니다. 참고적으로, SQL Server 설치 센터 화면이 영어로 표시되는 것은 언어에 중립적인 누적 업데이트에 포함된 설치 지원 파일이 사용되었기 때문이며 한글 버전의 SQL Server 2008이 설치되는 데에는 전혀 영향이 없습니다.

 

9. Slipstream Setup 작업이 완료된 후 제어판에서 '프로그램 및 기능'을 실행하고 작업 항목 중 '설치된 업데이트 보기'를 클릭해 보면 다음과 같이 Microsoft SQL Server 2008 항목 아래에 'Service Pack 1'과 'Cumulative Update 7(Hotfix 2766)'이 설치되어 있음을 확인해 볼 수 있습니다. 

 

 

[업데이트가 통합된 새로운 설치 패키지를 만드는 방법]

 

1. 새로운 설치 패키지를 생성할 임의의 폴더(예를 들어, C:\SQL2008_FullSP1CU7)를 생성하고 설치 미디어(DVD)로부터 폴더를 포함한 모든 파일들을 복사해 옵니다. 설치 미디어에는 3가지 종류의 플랫폼(x86, x64, ia64)에 대해 각각의 폴더가 존재하는데, 실제로 필요한 플랫폼에 대한 폴더만 복사해 주면 됩니다. 다음의 화면은 설치 DVD로부터 x86 폴더와 파일들을 C:\SQL2008_FullSP1CU7 폴더에 복사한 후의 모습입니다(x64와 ia64 폴더는 필요하지 않기 때문에 제외하였습니다). 

 

2. 최신의 SQL Server 2008 서비스 팩과 누적 업데이트를 다운로드합니다. 본 설명에서는 2010년 4월 현재 최신 버전인 SQL Server 2008 Service Pack 1(SQLServer2008SP1-KB968369-x86-KOR.exe)과 Cumulative Update Package 7 for SQL Server 2008 Service Pack 1(SQLServer2008-KB979065-x86.exe)을 다운로드 받았습니다.

 

3. 명령 프롬프트에서 다음과 같이 명령을 실행하여 다운로드 받은 서비스 팩과 누적 업데이트 파일의 압축을  각각 해제합니다. 압축이 해제될 폴더는 앞에서 설치 미디어로부터 파일을 복사해 둔 폴더 아래에 C:\SQL2008_FullSP1CU7\PCU와 C:\SQL2008_FullSP1CU7\CU로 각각 지정합니다. 파라미터로 지정한 압축이 해제될 폴더는 미리 만들어 두지 않아도 자동으로 생성됩니다. 

 

4. 서비스 팩과 누적 업데이트의 압축이 해제된 후 C:\SQL2008_FullSP1CU7 폴더의 모습은 다음과 같습니다. 

 

5. 다음과 같이 C:\SQL2008_FullSP1CU7\CU 폴더에 위치한 setup.exe 및 setup.rll 파일을 '복사' 합니다. 서비스 팩과 누적 업데이트를 함께 설치할 때 누적 업데이트가 보다 최신의 것이기 때문에 누적 업데이트에 포함되어 있는 setup.exe 및 setup.rll 파일을 복사하는 것입니다. 

 

6. 다음과 같이 복사한 파일들을 새로운 설치 패키지의 루트 폴더인 C:\SQL2008_FullSP1CU7에 '붙여넣기(덮어쓰기)' 하여 설치 미디어에서 가져 온 파일들을 대체합니다. 

 

7. 다음은 2개의 파일이 C:\SQL2008_FullSP1CU7 폴더에 복사(덮어쓰기)된 후의 모습입니다.

 

8. 다음과 같이 C:\SQL2008_FullSP1CU7\CU\x86 폴더에서 Microsoft.SQL.Chainer.PackageData.dll 파일만을 제외하고 모든 파일들을 선택 다음 '복사'합니다(하위 폴더는 제외). 

 

9. 다음과 같이 복사한 파일들을 C:\SQL2008_FullSP1CU7\x86 폴더에 '붙여넣기(덮어쓰기)' 하여 설치 미디어에서 가져 온 파일들을 대체합니다. 

 

10. 다음은 파일들을 C:\SQL2008_FullSP1CU7\x86 폴더에 복사(덮어쓰기)한 후의 모습으로 복사 대상에서 제외되었던 Microsoft.SQL.Chainer.PackageData.dll 파일만이 기존의 버전(수정한 날짜가 2008년 7월 10일)으로 유지되고 있음을 알 수 있습니다.

참고적으로, Windows Server 2008에서 제공되는 robocopy 명령을 이용하여 동일한 복사 작업을 다음과 같이 수행할 수도 있습니다.

robocopy C:\SQL2008_FullSP1CU7\CU\x86 C:\SQL2008_FullSP1CU7\x86 /XF Microsoft.SQL.Chainer.PackageData.dll

 

11. C:\SQL2008_FullSP1CU7\x86 폴더 아래에 Defaultsetup.ini 파일이 있는지 확인하여 있다면 기존의 파일을 사용하고 없다면 새롭게 파일을 생성한 다음 다음과 같이 PCUSOURCE와 CUSOURCE 값을 추가해 줍니다. 이렇게 함으로써 setup.exe를 실행할 때 파라미터 값을 지정할 필요가 없게 됩니다. 만약 다음과 같이 Defaultsetup.ini 파일을 구성해 주지 않으면 setup.exe를 실행할 때마다 /PCUSource, /CUSource 파라미터를 명시적으로 지정해 줘야 하는 불편함이 있습니다.

 

12. Defaultsetup.ini 파일의 구성 작업을 완료한 후 C:\SQL2008_FullSP1CU7\x86 폴더의 모습입니다. 

 

13. 이로써 새로운 설치 패키지 생성 작업이 완료되었습니다. 다음의 화면과 같이 C:\SQL2008_FullSP1CU7 폴더 아래에 있는 setup.exe를 더블 클릭하여 실행하면 서비스 팩과 누적 업데이트가 통합된 SQL Server 2008 설치 프로그램이 실행됩니다. 이렇게 만들어진 설치 패키지는 공유 폴더에 저장해 두거나 DVD로 구워서 사용한다면 여러 머신에 설치시 편리하게 사용할 수 있습니다.

 

 

지금까지 서비스 팩과 누적 업데이트를 통합하여 SQL Server 2008을 설치(Slipstream Setup)하는 두 가지 방법에 대해서 자세히 살펴 보았습니다. 마지막으로, Slipstream 설치 방식으로 설치 작업을 진행했을 때 정상적으로 Slipstream 방식으로 설치가 되는 것인지 여부를 확인해 보는 방법에 대해서 알아 보도록 하겠습니다. 

 

Slipstream 방식으로 설치할 때 다음과 같이 '설치 요약' 화면에 현재의 설치 작업이 'Slipstream' 방식의 설치 작업인지 여부가 표시되므로 Slipstream 방식으로 설치가 되고 있는 것인지 여부를 확인해 볼 수 있습니다. 

 

그리고 설치가 완료된 후에 다음의 화면에 표시되는 설치 요약 로그 파일의 링크를 클릭해 보면 아래의 화면과 같이 Slipstream 설치 여부와 Slipstream에 포함된 서비스 팩 및 누적 업데이트의 버전 정보를 확인해 볼 수 있습니다.