none
Microsoft SQL Server 2005 Express 시작 오류 확인 요청 RRS feed

  • 질문

  • 안녕하세요 김경범입니다.

    Microsoft SQL Server2005 Express 장애건에 대한 질문입니다.

    아래와 같은 에러 메시지가 나타나면서 SQL 시작이 되지 않습니다.

    2012-02-27 13:45:06.06 서버 오류: 26049, 심각도: 16, 상태: 1.
    2012-02-27 13:45:06.06 서버 Server local connection provider failed to listen on [ \\.\pipe\SQLLocal\MSSQLSERVER ]. Error: 0x5
    2012-02-27 13:45:06.07 서버 오류: 17182, 심각도: 16, 상태: 1.
    2012-02-27 13:45:06.07 서버 TDSSNIClient initialization failed with error 0x5, status code 0x40.
    2012-02-27 13:45:06.09 서버 오류: 17182, 심각도: 16, 상태: 1.
    2012-02-27 13:45:06.09 서버 TDSSNIClient initialization failed with error 0x5, status code 0x1.
    2012-02-27 13:45:06.11 서버 오류: 17826, 심각도: 18, 상태: 3.
    2012-02-27 13:45:06.11 서버 Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
    2012-02-27 13:45:06.13 서버 오류: 17120, 심각도: 16, 상태: 1.
    2012-02-27 13:45:06.13 서버 SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.

    물리적 파일 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\templog.ldf'을(를) 열거나 만드는 중 CREATE FILE에서 운영 체제 오류 32(다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다.)이(가) 발생했습니다.

    오류 0x50, 상태 코드 0x1(으)로 인해 TDSSNIClient 초기화에 실패했습니다.
    오류 0x50, 상태 코드 0x40(으)로 인해 TDSSNIClient 초기화에 실패했습니다.

    pipe를 TCP/IP Only로 변경후 시스템을 재시작하고 나서도 문제는 동일합니다.

    빠른 답변 부탁드리겠습니다.

    감사합니다.

    2012년 3월 6일 화요일 오전 12:19

답변

  • 안녕하세요 김경범님

    위의 오류는 프로토콜 문제보다 먼저 체크해 보실 것이 아래 메시지입니다.

    'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\templog.ldf'을(를) 열거나 만드는 중 CREATE FILE에서 운영 체제 오류 32(다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다.)

    우선, SQL Server 구성 관리자를 실행하셔서 SQL Server 데이터베이스 엔진 서비스를 확인하십시오.

    위의 내용으로 보아, 이미 다른 인스턴스에서 해당 파일을 사용하고 있는 상황에서 또 다시 동일한 경로에 트랜잭션 로그 파일을 사용하려고 시도하기 때문에 발생하는 문제로 판단됩니다.

    해결을 위해, Tempdb 데이터베이스의 경로를 변경하거나, 기존 인스턴스를 중지하시고 새로 시작하려는 인스턴스를 시작해 보는 것도 좋겠습니다.

    해 보시고 안되시면 다시 질문 올려주세요

    감사합니다.

    SQLRoad.com

    성대중


    Best Regards, Daejoong Samuel Sung Microsoft SQL Server MVP,MCITP,MSTS, Senior Consultant @ SQLRoad.COM

    2012년 3월 6일 화요일 오후 11:36
    중재자

모든 응답

  • 안녕하십니까? kimkb 님,
    Microsoft TechNet의Forum 사이트를 방문해 주셔서 감사합니다.

    문의 하신 ”Microsoft SQL Server 2005 Express 시작 오류 확인 요청”에 대해 답변드리겠습니다.

    [원인]
    제 생각에는 SQL Server 2000 버그 입니다.
    If the named pipe the SQL 2000 instance is configured to listen on becomes blank for some reason, the instance will start listening on the default instance pipe, \\.\pipe\sql\query. Since the SQL Server 2005 default instance cannot create the same pipe, it will fail to start.

    [해결책]
    아래와 같이 2가지 해결책을 제시해 드릴 수 있습니다.
    1.Use either the SQL Sever configuration manager or  SQL Server Network Utility to specify a named pipe name for the SQL Server 2000 named instance. The pipe name should be of the format : \\.\pipe\MSSQL$Instance\sql\query.
    2.Use either the SQL Server configuration manager or the SQL Server Network Utility to disable Named Pipes as a network protocol for either instance. Make sure that instance still has a network protocol enabled, for example, TCP/IP.

    [참조문서]
    SQL Server 2005 default instance may not start when there is a SQL Server 2000 named instance and both instances are configured to listen on named pipes
    SQL Server fails to start - 유사한 이슈가 해외포럼에 존재합니다.

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.
    제시해 드린 답변이 도움이 되었기를 바랍니다.
     
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.

    2012년 3월 6일 화요일 오전 6:50
    중재자
  • 안녕하세요 김경범님

    위의 오류는 프로토콜 문제보다 먼저 체크해 보실 것이 아래 메시지입니다.

    'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\templog.ldf'을(를) 열거나 만드는 중 CREATE FILE에서 운영 체제 오류 32(다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다.)

    우선, SQL Server 구성 관리자를 실행하셔서 SQL Server 데이터베이스 엔진 서비스를 확인하십시오.

    위의 내용으로 보아, 이미 다른 인스턴스에서 해당 파일을 사용하고 있는 상황에서 또 다시 동일한 경로에 트랜잭션 로그 파일을 사용하려고 시도하기 때문에 발생하는 문제로 판단됩니다.

    해결을 위해, Tempdb 데이터베이스의 경로를 변경하거나, 기존 인스턴스를 중지하시고 새로 시작하려는 인스턴스를 시작해 보는 것도 좋겠습니다.

    해 보시고 안되시면 다시 질문 올려주세요

    감사합니다.

    SQLRoad.com

    성대중


    Best Regards, Daejoong Samuel Sung Microsoft SQL Server MVP,MCITP,MSTS, Senior Consultant @ SQLRoad.COM

    2012년 3월 6일 화요일 오후 11:36
    중재자