제2의 비엔지니어 인생관을 꿈꾸며

Posted
Filed under MSSQL

최신OS Windows2008 R2 버젼과 MSSQL2008 버젼에서의 설치문제는 여러가지 이슈가 있었습니다. 일단 R2버젼에서 SQL2008 클러스터 설치부터가 안됩니다. MS가 버그로 인정했고 그에대한 대책이 서비스팩1을 통합시켜 패킹시켜 설치를 하는 방법을 지시하였습니다.
윈도우XP에 클라이언트 접속툴도 설치에서 에러가 나기도 합니다.
그래서 결국 MSSQL2008은 무조건 SP1으로 통합시켜서 설치를 해야만 별 희안한 에러를 보지 않습니다.SP2가 나오면 SP2로 패킹시키면 더 좋겠지만 이에 방법은

1.

Copy the original SQL Server 2008 source media to c:\SQLServer2008_FullSP1 .

2.

Download the Service Pack 1 package. The package names are as follows:

SQLServer2008SP1-KB968369-IA64-ENU.exe

SQLServer2008SP1-KB968369-x64-ENU.exe

SQLServer2008SP1-KB968369-x86-ENU.exe

3.

Extract the packages as follows:

SQLServer2008SP1-KB968369-IA64-ENU.exe /x:c:\SQLServer2008_FullSP1\PCU

SQLServer2008SP1-KB968369-x64-ENU.exe /x:c:\SQLServer2008_FullSP1\PCU

SQLServer2008SP1-KB968369-x86-ENU.exe /x:c:\SQLServer2008_FullSP1\PCU

Note Make sure that you complete this step for all architectures to ensure the original media is updated correctly.

4.

Run the following commands to copy the Setup.exe file and the Setup.rll file from the extracted location to the original source media location.
robocopy C:\SQLServer2008_FullSP1\PCU c:\SQLServer2008_FullSP1 Setup.exe
robocopy C:\SQLServer2008_FullSP1\PCU c:\SQLServer2008_FullSP1 Setup.rll 

5.

Run the following commands to copy all files (not the folders), except the Microsoft.SQL.Chainer.PackageData.dll file, in C:\SQLServer2008_FullSP1\PCU\ Architecture to C:\SQLServer2008_FullSP1 \ Architecture to update the original files.
robocopy C:\SQLServer2008_FullSP1\pcu\x86 C:\SQLServer2008_FullSP1\x86 /XF Microsoft.SQL.Chainer.PackageData.dll
robocopy C:\SQLServer2008_FullSP1\pcu\x64 C:\SQLServer2008_FullSP1\x64 /XF Microsoft.SQL.Chainer.PackageData.dll
robocopy C:\SQLServer2008_FullSP1\pcu\ia64 C:\SQLServer2008_FullSP1\ia64 /XF Microsoft.SQL.Chainer.PackageData.dll

Note If you accidentally copy the Microsoft.SQL.Chainer.PackageData.dll file, you may receive the following error message when you run the Setup.exe file.


SQL Server Setup has encountered the following error:
The specified action LandingPage is not supported for the SQL Server patchingg operation.
Error code 0x84BF0007



If this issue occurs, restore the Microsoft.SQL.Chainer.PackageData.dll file back to the original version.

6.

Determine if you have the Defaultsetup.ini file in the following folders:

C:\SQLServer2008_FullSP1\x86

C:\SQLServer2008_FullSP1\x64

C:\SQLServer2008_FullSP1\ia64

If you have the Defaultsetup.ini file in the folders, open the Defaultsetup.ini file, and then add PCUSOURCE=".\PCU" to the file as follows:

;SQLSERVER2008 Configuration File [SQLSERVER2008] ... PCUSOURCE=".\PCU"

If you do not have the Defaultsetup.ini file in the folders, create the Defaultsetup.ini file in the folders, and add the following content to the file:

;SQLSERVER2008 Configuration File [SQLSERVER2008] PCUSOURCE=".\PCU"

Note This file tells the Setup program where to locate the SP1 source media that you extracted in step 3.

7.

Start the Setup program.

MS기술지원 받을때 전달받은 지침서입니다. SP1으로 패킹시킨후로 아직까지 에러는 구경하지 못했습니다.

두번째로 여러사람들이 참 많이도 고생하는 통신포트 오픈 문제입니다. TCP 1433 포트만을 기억하는 사용자들은 UDP사용의 존재 유무를 모르고 있는게 대부분입니다. 필자는 MS엔지니에게 수차례 확인을 거쳤슴에도 불구하고 UDP는 오픈을 하지 않아도 된다라고 확답을 얻었지만 UDP 1434를 열어주지 않으면 DB서버에 접속을 할수 없었습니다. 왜그럴까?라는 의문을 계속 하던 찰나에 앗~!? 하며 생각난건 인스턴스 네임이 존재할경우입니다. 어떤건 TCP1433만 열었는데도 잘되고 어떤건 안되고 하는걸 참 희안하다 생각하는데 인스턴스네임을 찾아가야 하는거라면 UDP를 사용하겠구나라는 생각을 해봤습니다. 즉 이제까지 기본인스턴스로 사용해봤지 멀티인스턴스로 나가면서 네임을 붙여서 해보진 않았기 때문이였습니다. 우리가 흔히 사용하는 넷바이오스 네임을 사용할때 UDP를 열어줘야 하듯 SQL도 마찬가지로 네임을 사용해야 한다면 UDP를 사용해야 하겠지?라는 필자만의 판단입니다. 이게 아니라면 아니겠지만 확실하다고는 말을 못하겠습니다. 그냥 추측일뿐이지...(이런데 아는척 했다간 개망신 ㅋㅋㅋ)

MSSQL2005부터 SSIS 패키지라는게 있습니다. DTS 로컬패키지를 업그레이드 한거라 생각을 합니다만 기존에 DTS를 계속 사용해도 됩니다. 하지만 64비트 2008운영체제에 SQL2008이라면 예전 DTS는 실행이 되되 수정을 하기가 곤란합니다. 편법으로 dll수정과 여러가지 방법을 제공하곤 있지만 그냥 포기하고 SSIS로 마이그레이션 하고 거기서 약간 수정해서 사용하는것이 정신건강상 이롭습니다.
SQL에 대해서 많이 몰랐던 필자가 DTS란거까지 접하면서 결국 예전 방식은 그냥 포기하고 SSIS로 전환하는것이 SQL2008에대한 예의?ㅋㅋ 라고 봅니다. 예전거 고수해봐야 머리 아플거 뻔합니다.

2009/12/08 23:41 2009/12/08 23:41