programing

SQL Server에 연결하는 동안 네트워크 관련 오류 또는 인스턴스 관련 오류가 발생한 이유는 무엇입니까?

css3 2023. 7. 9. 12:33

SQL Server에 연결하는 동안 네트워크 관련 오류 또는 인스턴스 관련 오류가 발생한 이유는 무엇입니까?

저는 매우 좌절했습니다.Visual Web Developer 2008 Express에서 로컬 데이터베이스를 사용하여 웹 사이트를 실행하고 있습니다. 모든 것이 잘 작동합니다.또한 프로덕션 서버에서 동일한 웹 사이트를 실행하고 있습니다.모든 것이 잘 작동했지만 오늘 밤 저는 생산을 "재설정"했습니다.

  1. 저는 두 개의 테이블을 삭제하고 다시 만들고 데이터를 삽입했습니다.이때는 모든 것이 괜찮았습니다.

  2. 저는 FTP를 통해 모든 파일을 삭제했습니다.

  3. 저는 비주얼 스튜디오에서 "Copy website"라는 모듈을 사용했고 FTP를 통해 사이트를 웹사이트로 복사했습니다.

웹 사이트에 로그인하면 다음과 같은 오류가 발생합니다.

'/' 응용 프로그램에 서버 오류가 있습니다.

SQL Server에 대한 연결을 설정하는 동안 네트워크 관련 오류 또는 인스턴스 관련 오류가 발생했습니다.서버를 찾을 수 없거나 서버에 액세스할 수 없습니다.인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되었는지 확인합니다.(제공자: SQL 네트워크 인터페이스, 오류: 26 - 서버/인스턴스 지정 오류)

설명:현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다.오류에 대한 자세한 내용과 코드에서 발생한 오류에 대한 자세한 내용은 스택 추적을 검토하십시오.

예외 세부 정보:시스템.Data.SqlClient.SqlException:SQL Server에 대한 연결을 설정하는 동안 네트워크 관련 오류 또는 인스턴스 관련 오류가 발생했습니다.서버를 찾을 수 없거나 서버에 액세스할 수 없습니다.인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되었는지 확인합니다.(제공자: SQL 네트워크 인터페이스, 오류: 26 - 서버/인스턴스 지정 오류)


SQL 연결과 관련하여 변경된 사항은 없으며, 항상 사용하던 OLD 코드입니다.이것 때문에 제 웹사이트가 완전히 마비되었고 제가 할 수 있는 것이 아무것도 없다는 생각에 속이 메스꺼워요.

누가 저 좀 도와주실 수 있나요?

서버에 새 웹 사이트 버전을 복사할 때 연결 문자열이 재정의되었을 수 있습니다.web.config의 연결 문자열이 유효한지 확인하십시오.

윈도우즈 시스템 A에서 윈도우즈 시스템 B(SQL Server가 설치된 서버)에 연결하는 경우 이 오류가 발생하면 다음을 수행해야 합니다.

시스템 B:

  1. "SQL Server Browser"라는 Windows 서비스를 켜고 서비스를 시작합니다.
  2. Windows 방화벽의 경우
    • 들어오는 포트 UDP 1434 사용(A 시스템의 SQL Server Management Studio가 연결 중이거나 A 시스템의 프로그램이 연결 중인 경우)
    • 수신 포트 TCP 1433 사용(텔넷 연결이 있는 경우)
  3. SQL Server 구성 관리자에서 다음을 수행합니다.
    • 포트 1433에 TCP/IP 프로토콜 사용

저는 그 문제를 해결했습니다.그것은 SQL 브라우저 서비스 때문이었습니다.

이러한 문제에 대한 해결책은 다음 중 하나입니다.

  • 연결 문자열에 지정된 SQL Server 인스턴스 이름의 철자를 확인합니다.

  • SQL Server에서 TCP 또는 명명된 파이프 프로토콜을 통한 원격 연결을 허용하려면 SQL Server Surface Area Configuration 도구를 사용합니다.SQL Server 지표면 영역 구성 도구에 대한 자세한 내용은 서비스 및 연결에 대한 지표면 영역 구성을 참조하십시오.

  • SQL Server의 서버 인스턴스에서 SQL Server 및 SQL Server Browser 포트(UDP 1434)에 대한 포트를 열도록 방화벽을 구성했는지 확인합니다.

  • 서버에서 SQL Server Browser 서비스가 시작되었는지 확인합니다.

링크 - http://www.microsoft.com/products/ee/transform.aspx?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=-1

다음 사항을 확인합니다.

데이터베이스 엔진이 원격 연결을 허용하도록 구성되었는지 확인합니다.

시작 > 모든 프로그램 > SQL Server 2005 > 구성 도구 > SQL Server 표면 영역 구성 • 서비스 및 연결에 대한 표면 영역 구성 클릭 • 문제가 있는 인스턴스 선택 > 데이터베이스 엔진 > 원격 연결 • 로컬 및 원격 연결 활성화 • 인스턴스 다시 시작

  1. SQL Server 서비스 계정을 확인합니다.

도메인 계정을 서비스 계정으로 사용하지 않는 경우(예: NETWORK SERVICE를 사용하는 경우) 계속하기 전에 이 계정을 먼저 전환할 수 있습니다.

  1. 명명된 SQL Server 인스턴스를 사용하는 경우 ASweb P.NET 응용 프로그램의 연결 문자열에서 해당 인스턴스 이름을 사용하고 있는지 확인합니다.

일반적으로 데이터베이스 서버를 지정하는 데 필요한 형식은 machinename\instancename • 연결 문자열도 확인하십시오.

원인은 SQL SERVER가 services.msc에서 중지되었기 때문입니다. 이 문제에 대한 솔루션은 services.msc에서 SQL SERVER를 시작하는 것일 수 있습니다.

enter image description here

저는 최근에 이 문제를 겪었고 결국 포트 이슈가 되었습니다.운영 SQL 서버가 1433 대신 포트 1427로 설정되었습니다.

연결 문자열을 다음으로 변경합니다.

...data source=MySQLServerName,1427;initial catalog=MyDBName...

이것이 이와 같은 문제를 볼 수 있는 모든 사람에게 도움이 되기를 바랍니다.

SQL Server 2008 R2에서도 동일한 문제가 발생했으며 "SQL Server 구성 관리자"를 선택했을 때 SQL Server 인스턴스가 중지되었습니다.마우스 오른쪽 단추를 클릭하고 인스턴스를 시작하면 문제가 해결됩니다.

SQL 서버 구성 관리자에서 TCP/IP 속성을 사용하도록 설정해야 합니다.

서버가 작동하다가 갑자기 오류가 발생하기 시작한 경우 서버/인스턴스가 중지되고 연결 설정이 변경되었습니다.

SQL Server 2008의 경우 다음과 같이 이를 충족할 수 있습니다.

  1. 에 가다Start > All Programs > SQL Server 2008 > Configuration Tools > SQL Server Configuration Manager > SQL Server Services.
    여기에 모든 사례와 상태가 표시됩니다.
  2. 연결하려는 인스턴스의 상태를 여기서 중지할 수 있습니다.
  3. 인스턴스를 두 번 클릭한 다음 연결을 클릭합니다.
  4. 연결이 되고 이제 돌아가서 응용 프로그램을 실행하면 오류 없이 연결할 수 있습니다.

이 솔루션은 연결 문자열이 잘못되어 오류가 발생한 것이 아니라고 가정합니다.

나의 경우 그것은 매우 어리석은 실수였습니다.라이브러리를 사용하여 구성 파일에서 연결 문자열을 읽다가 백슬래시를 이중으로 만드는 것을 잊었습니다.

예를 들어 다음과 같습니다.localhost\sqlexpress은 읽진혀고라로 .localhostsqlexpress차라리 그랬어야 할 때에localhost\\sqlexpress\를 기록합니다.

SQL Server에 연결하는 동안 네트워크 관련 오류 또는 인스턴스 관련 오류가 발생했습니다.

SQL Server 2005(.\sqexpress)'를 사용하고 있었는데 정상적으로 작동하다가 갑자기 서비스가 중단되고 오류가 발생했습니다.

이렇게 풀었는데,

시작 -> 검색 상자 -> SQL 구성 관리자 -> SQL Server 2005 서비스 > 서비스 상태를 마우스 오른쪽 버튼으로 클릭하여 SQL Server(SQLEXPRESS) 상태를 실행으로 변경합니다.

는 이 게시물에 명시된 대로 다음 명령을 상승된 명령 프롬프트에서 실행하여 이 문제를 해결했습니다.

net start mssqlserver

동일한 문제가 있었지만 데이터베이스 엔진에 대한 서비스 계정의 암호가 만료되었기 때문이라는 것을 알게 되었습니다.해결책은 해당 계정에 로그인하여 이 문제를 해결한 다음 암호가 만료되지 않도록 계정을 설정하는 것이었습니다.

원격 SQL 서버에서 기본 1443이 아닌 다른 포트에서 연결이 필요합니다.

솔루션은 SQL 서버 IP 뒤에 ","를 추가한 다음 129.0.0.1,2995와 같은 포트를 추가하는 것이었습니다(서버 IP 뒤에 "," 확인).

아래의 이미지를 참조하십시오.

enter image description here

저도 같은 오류가 있었는데 .NET이 제가 모르는 localhost에 데이터베이스를 생성한 것으로 나타났습니다.사이트를 활성화하려고 했을 때 데이터베이스가 생성되지 않았습니다. 그래서 코드는 존재하지 않는 데이터베이스를 가리키고 있었습니다.

이것이 문제 해결을 시도하는 다른 사람들에게 도움이 되기를 바랍니다.

언급URL : https://stackoverflow.com/questions/1391503/why-did-a-network-related-or-instance-specific-error-occur-while-establishing-a