2007~2011/SQL Server2009. 9. 28. 00:01
MSCS 환경에서 새롭게 노드를 추가하여 SQL Server 를 설치하였으나 정상 설치가 되지 않아 몇 차례 반복 설치한 사례가 있습니다. Passive node 에 SQL 가상 서버가 설치될 때, 기존 설치 파일이 말끔하게 정리되지 않았을 경우 SQL Server 설치 후 아래와 같은 현상이 나타날 수 있습니다. SQL Server 를 설치하는데 있어 한 번이라도 실패한다면 반드시 수동 제거를 통해서 파일과 레지스트리 정보를 제거할 것을 권장해 봅니다.


[환경]

Windows 2000 Server SP4+
SQL Server 2000 SP4


[현상]
SQL 그룹을 Passive Node 로 이동하였을 때, Disk, IP Address, Network Name 리소스는 정상적으로 그룹이동 되었으나 SQL Server, SQL Server Agent  리소스가 온라인 되지 못하고 실패하였습니다.


[원인]
Passive Node 에서 SQL Server 를 구동하는데 필요한 Image Path 정보가 없으며 SQL Server cluster 를 Passive node 에 반복 재설치 하는 과정에서 SQL Server 서비스 실행 경로가 누락되었을 것으루 추정할 수 있습니다. (완전 정확한 원인을 찾지 못하였습니다. 추측일 뿐...) 


[해결방법]
1. Passive node 에서 SQL Server 실행 바이너리 Image Path 확인 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSQLServer\ImagePath 값이 NULL 상태
 - Active Node 에 설정된 레지스트리 정보를를 복사하여 Passive Node 에 복사하였으나 동일한 현상 발생 


2. Service Control Manager Utility(scm.exe) 사용 
C:\Program Files\Microsoft SQL Server\80\Tools\binn> scm -Action 5 -Service "MSSQLSERVER" -ExePath "C:\Program Files\Microsoft SQL Server\MSSQL\binn\sqlservr.exe"

C:\Program Files\Microsoft SQL Server\80\Tools\binn> scm -Action 5 -Service "SQLSERVERAGENT" -Dependencies MSSQLSERVER -ExePath "C:\Program Files\Microsoft SQL Server\MSSQL\binn\sqlagent.exe"

Service Control Manager Utility Command Line Arguments
-Action
1 = Start, 2 = Restart,
3 = IsRunning (returns exit code of 1056 if an instance of the service is already running.,1062 if the service has not been started.)
4 = Delete Service, 5 = Install Service,
6 = Stop, 7 = Modify
-Server        <Optional name of the SQL server (default is this computer)>
-Pwd           <Optional SQL server 'sa' password (default is "")>
-StartupOptions <Optional space-delimited list of server startup options>
-Service       <Name of the service (default is MSSQLServer)>
-ExePath       <Path to the service exe on this computer>
-SvcStartType  <1 for SERVICE_DEMAND_START or 2 for SERVICE_AUTO_START>
-SvcAccount    <service account name>
-SvcPwd        <service account name password>
-Dependencies  <List of service name dependencies separated by semi-colons>
-Silent        <1 to suppress most messages or 0 for interactive mode>


[분석결과]

이벤트 오류 로그 확인 
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] OnlineThread: Error 3e5 bringing resource online.\r\n\r\n
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] OnlineThread: ResUtilsStartResourceService failed (status 3e5)\r\n\r\n
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] StartResourceService: OpenService (MSSQLSERVER) failed.  Error: 3e5\r\n\r\n
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] OnlineThread: Error 3e5 bringing resource online.\r\n\r\n
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] OnlineThread: ResUtilsStartResourceService failed (status 3e5)\r\n\r\n
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] StartResourceService: OpenService (MSSQLSERVER) failed.  Error: 3e5\r\n\r\n
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] OnlineThread: Error 3e5 bringing resource online.\r\n\r\n
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] OnlineThread: ResUtilsStartResourceService failed (status 3e5)\r\n\r\n
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] StartResourceService: OpenService (MSSQLSERVER) failed.  Error: 3e5\r\n\r\n
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] OnlineThread: Error 3e5 bringing resource online.\r\n\r\n
error   17052   MSSQLSERVER    "장애 조치"     LAIGOFS02        [sqsrvres] OnlineThread: ResUtilsStartResourceService failed (status 3e5)\r\n\r\n



[참고자료]
BUG: Scm.exe command line arguments not documented in SQL 7.0 Books Online
http://support.microsoft.com/kb/230236/en-us


작성자 : Lai Go / 작성일자 : 2009.09.23

Posted by Lai Go