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.