SQL Server Express 2012/2016에서 localhost에 연결할 수 없습니다.


97

최신 버전의 SQL Express 2012를 다운로드했지만 localhost에 연결할 수 없습니다. localhost \ SQLExpress 및 Windows 인증을 시도했지만 연결할 수 없다는 오류 메시지가 표시됩니다. 여기에 뭔가 빠졌나요? 이전에 SQL Server 2008을 사용해 보았지만 localhost에 연결하는 데 문제가 없었습니다. 찾을 수없는 것 같습니다. 또한 서비스에는 SQL Server VSS 작성기 만 표시됩니다. 이것이되어야하는 방식입니까? 아니면 내가 뭔가를 놓치고 있습니까? 감사


1
설치가 잘되지 않은 것 같습니다. 수리 / 재설치를 시도 했습니까?
— Vikdor 2012 년

1
Management Studio 설치 프로그램이 아닌 서버용 설치 프로그램을 찾았습니까?
— Damien_The_Unbeliever

답변:


181

Aaron Bertand에 따르면 :

  1. SQL Server 서비스가 실행 중인지 확인해야합니다. 로 이동하여 Start > Control Panel > Administrative Tools > ServicesSQL Server ( SQLEXPRESS) 서비스 가 실행 중인지 확인하면 됩니다. 그렇지 않은 경우 시작하십시오.

  2. 서비스 애플릿에있는 동안 서비스 SQL 브라우저 가 시작 되었는지도 확인하십시오 . 그렇지 않은 경우 시작하십시오 .

  3. SQL Server에서 TCP / IP 또는 명명 된 파이프를 사용할 수 있는지 확인해야합니다. Start > Programs > Microsoft SQL Server 2012 > Configuration Tools(또는 SQL Server Configuration Manager) 에서 SQL Server 구성 관리자를 열어 이러한 기능을 켜고 TCP / IP 및 명명 된 파이프가 활성화되어 있는지 확인합니다 . 시작 메뉴에서 SQL Server 구성 관리자를 찾을 수없는 경우 MMC 스냅인을 수동으로 시작할 수 있습니다. SQL Server 구성 관리자 에서 버전에 따른 스냅인 경로를 확인하십시오 .

    SQL Server 구성 관리자

  4. SQL Server 연결 인증 모드가 연결 문자열과 일치하는지 확인합니다.

    • 사용자 이름과 암호를 사용하여 연결하는 경우 "SQL Server 인증 모드"를 허용하도록 SQL Server를 구성해야합니다.

      -- YOU MUST RESTART YOUR SQL SERVER AFTER RUNNING THIS!
      USE [master]
      GO
      DECLARE @SqlServerAndWindowsAuthenticationMode INT = 2;
      EXEC xp_instance_regwrite
        N'HKEY_LOCAL_MACHINE',
        N'Software\Microsoft\MSSQLServer\MSSQLServer',
        N'LoginMode',
        REG_DWORD,
        @SqlServerAndWindowsAuthenticationMode;
      GO
      
    • "Integrated Security = true"(Windows 모드)를 사용하여 연결하고이 오류는 웹 응용 프로그램에서 디버깅 할 때만 발생하는 경우 ApplicationPoolIdentity를 SQL Server 로그인으로 추가 해야합니다 .
  5. 그렇지 않으면 실행하십시오. Start -> Run -> Services.msc그렇다면 실행 중입니까?

실행 중이 아니면

모든 것을 설치하지 않은 것 같습니다. 설치 파일을 실행하고 "새 설치 또는 기존 설치에 기능 추가"옵션을 선택합니다. 거기에서 데이터베이스 엔진 서비스가 설치되었는지 확인할 수 있습니다.


2
@dido : 시작 -> 실행 -> Services.msc를
— 라빈 드라 Bagale

3
확인해야 할 또 다른 사항은 인스턴스 이름입니다. SQL Server가 설치된 방법에 따라 호스트 뒤에 인스턴스 이름을 제공해야 할 수도 있고 제공하지 않을 수도 있습니다.
— Arvo Bowen

"TCP / IP 및 Named Pipes is enabled"가 처음 설치 후 필요한 것 같습니다
— James A Mohler

3
그것은 어리석은 일 이었지만 나에게는 문제가 설치에 설정된 "localhost \ SQLEXPRESS01"이 아닌 "localhost"를 서버 이름으로 사용하는 것이었다
— Guy s

1
제 경우에는 SQLBrowser가 비활성화되고 구성 도구가 sql 도구 폴더에 나열되지 않았습니다. cmd를 통해 구성 도구를 시작하려면 https://docs.microsoft.com/en-us/sql/relational-databases/sql-server-configuration-manager?view=sql-server-2017 SQLBrowser를 자동으로 시작하려면 도구가 실패 /programming/21375014/i-cannot-start-sql-server-browser
— steven87vt에게

121

시작-> 프로그램-> Microsoft SQL ServerYYYY-> 구성 도구-> SQL Server YYYY 구성 관리자로 이동하거나 "SQLServerManager12.msc"를 실행합니다.

클라이언트 프로토콜에서 TCP / IP가 활성화되어 있는지 확인합니다.

그런 다음 "SQL Server 네트워크 구성"으로 이동하여 TCP / IP를 두 번 클릭합니다. "IP 주소"탭을 클릭하고 아래로 스크롤하십시오. "IP All"에서 TCP 동적 포트가있는 경우 제거하고 TCP 포트를 1433으로 설정합니다. 확인을 클릭 한 다음 "SQL Server 서비스"로 돌아가서 SQL Server 인스턴스를 다시 시작합니다. 이제 localhost를 통해 연결할 수 있습니다.

여기에 이미지 설명 입력

물론이 오류는 다른 응용 프로그램에서 연결할 때도 발생할 수 있습니다. 일반 C # 웹 애플리케이션 Web.config연결 문자열의 예 :

<connectionStrings>
    <add name="DefaultConnection" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>

4
마침내 이것은 나를 위해 일했습니다! IP1, IP2에서 포트를 변경했지만 IPAll에서는 변경하지 않았습니다. 해냈어, 고마워!
— George

2
@George는 당신과 똑같습니다. 나는 심지어 방화벽을 비활성화했지만 아무것도 작동하지 않았습니다. 있었다 40xxx의 TCP 동적 포트의 포트. 나는 그것을 제거하고 IPAll의 TCP 포트에 1433을 넣었습니다. 감사!
— Alisson

이것은 나에게도 열쇠였습니다.
— Erik Olson

1
몇 시간 동안 벽에 머리를 부딪친 후 마침내 효과가있었습니다. 감사합니다.
— Top Cat

훌륭한 솔루션. 그것은 내 하루를 구합니다. 정말 고마워!
— Lavande

13

SQL SERVER EXPRESS 2012에서는 데이터 원본 이름으로 "(localdb) \ MSSQLLocalDB"를 사용해야합니다. 예를 들어 다음과 같은 연결 문자열을 사용할 수 있습니다.

Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;

10

비슷한 문제가있었습니다. 아마도 내 솔루션이 도움이 될 것입니다. 방금 MSSQL EX 2012 (기본 설치)를 설치하고 VS2012 EX와 연결을 시도했습니다. 기쁨이 없습니다. 그런 다음 서비스를 살펴보고 SQL Server (SQLEXPRESS)가 실제로 실행되고 있는지 확인했습니다.

그러나 비활성화 된 SQL Server Browser라는 또 다른 흥미로운 서비스를 보았습니다. 나는 그것을 활성화하고 해고 한 다음 VS2012 EX의 새 연결에서 서버 이름을 검색하고 연결할 수있었습니다.

VS가 연결하는 데 필요한 서비스를 비활성화하는 것이 이상합니다.


연결할 필요는 없습니다. 나는 그것을 비활성화하고 잘 연결할 수 있습니다. 연결할 정확한 호스트 / 인스턴스 이름을 모를 때 다른 소프트웨어에서 이러한 항목을 쿼리 할 수 ​​있으므로 작업이 더 쉬워집니다.
— 사이먼 모건

8

먼저 Ravindra Bagale에서 제공하는 가장 인기있는 솔루션을 사용해보십시오 .

localhost에서 데이터베이스로의 연결이 여전히 다음과 유사한 오류와 함께 실패하는 경우 :

SQL Server DB에 연결할 수 없습니다. 오류 : 호스트 [IP 주소], 포트 1433에 대한 TCP / IP 연결에 실패했습니다. 오류 : "연결 거부 : 연결. 연결 속성을 확인하십시오. SQL Server 인스턴스가 호스트에서 실행되고 포트에서 TCP / IP 연결을 허용하는지 확인하십시오. 포트에 대한 TCP 연결이 방화벽에 의해 차단되지 않았는지 확인하십시오. . "

  1. SQL Server 구성 관리자를 엽니 다.
  2. 해당 서버 인스턴스에 대한 SQL Server 네트워크 구성을 확장합니다.
  3. "TCP / IP"를 더블 클릭합니다.
  4. "프로토콜"섹션에서 "사용"을 "예"로 설정합니다.
  5. "IP 주소"섹션에서 "IP All"(기본적으로 1433)에서 TCP 포트를 설정합니다.
  6. "IP 주소"섹션에서 IP 주소가 127.0.0.1 (IPv4의 경우) 및 :: 1 (IPv6의 경우) 인 하위 섹션을 찾아 "사용"및 "활성"을 모두 "예"로 설정하고 TCP 포트를 1433으로 설정합니다.

    TCP / IP 속성

  7. 로 이동 Start > Control Panel > Administrative Tools > Services하여 SQL Server 서비스 ( SQLEXPRESS)를 다시 시작합니다 .


여기에 오기 전에 위의 다른 솔루션을 시도했습니다. 이것은 나를 위해 그것을 고쳤습니다! 또한 psping이라는 것을 다운로드하면 연결 테스트에 도움이되었습니다. 예 : psping 127.0.0.1:1433
— JMI MADISON

7

먼저 SQL Server 서비스가 실행 중이거나 중지되었는지 확인하고 중지 된 경우 시작하기 만하면됩니다. 아래 단계를 따르세요.

1. 시작-> 실행-> Services.msc

여기에 이미지 설명 입력

  1. 서비스 패널의 표준 탭으로 이동 한 다음 SQl Server (SQL2014)를 검색합니다.

"SQL2014"는 내가 제공했습니다. 귀하의 경우 다른 이름 일 수 있습니다.

여기에 이미지 설명 입력

SQL 서비스를 시작하면 로컬 데이터베이스에 연결할 수 있습니다.

누군가를 도울 수 있기를 바랍니다.


4

모든 서비스가 예상대로 실행되고 있었지만 여전히 연결할 수 없습니다.

SQL Server Express 프로토콜 에 대한 SQL Server 구성 관리자 의 TCP / IP 속성 섹션을 업데이트하고 예상대로 서버에 연결하기 위해 IPALL 포트를 1433으로 설정해야 했습니다 .

여기에 이미지 설명 입력



1

비슷한 문제가 있습니다. 도구가 포함 된 SQL 2012 Express 용 패키지를 다운로드했지만 데이터베이스 엔진이 설치되지 않았습니다.

나는 MS 사이트에서 다른 하나를로드했고 이것은 데이터베이스 엔진을 설치했다. 재부팅 후 서비스가 나열되고 사용할 준비가되었습니다.


1

내 상황

  • SQL Server Management Studio에서 인스턴스 이름 비어 있음> 데이터베이스 엔진 선택> 마우스 오른쪽 단추> 속성 (서버 속성)> 링크보기 연결 속성> 제품> 인스턴스 이름이 비어 있음

  • 데이터 소스 =. \ SQLEXPRESS가 작동하지 않음 => web.config에서 localhost 사용 (아래 참조)

솔루션 : web.config에서

xxxxxx = .mdf없는 내 데이터베이스 이름 yyyyyy = VS2012 데이터베이스 탐색기의 내 데이터베이스 이름

연결 문자열의 서버 이름에 tcp : 접두사를 추가하거나 localhost를 사용하여 공유 메모리 대신 TCP를 강제로 사용할 수 있습니다.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx


1

나는 같은 문제가 있었고 SQL 2012 용 업데이트를 설치 한 후에 이런 일이 발생했다는 것을 발견했습니다. 나를 위해 수정 된 것은 프로그램과 기능에 들어가서 수리를 실행하는 것이 었습니다.


1

나에게 문제는 내가 지정하지 않았다는 것 .\입니다. 인스턴스 이름 만 지정했습니다.

  • 작동하지 않았다: SQL2016
  • 일했다 : .\SQL2016

1

@ Ravindra Bagale 에서 언급 한 단계를 수행 한 후이 단계를 시도하십시오. Server name: localhost\{Instance name you were gave}

여기에 이미지 설명 입력


0

서비스를 소유 한 사용자를 로컬 시스템으로 변경하거나 관리자 계정을 사용하십시오.

서비스에서 서비스 SQL Server (MSSQLSERVER) 로그온을 NT Service \ Sql ...에서 로컬 시스템으로 변경했습니다. 서비스를 마우스 오른쪽 버튼으로 클릭하고 로그온 탭으로 이동하여 로컬 시스템 계정 라디오 버튼을 선택합니다. 더 적합한 경우 다른 사용자도 실행하도록 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.