developer tip

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

optionbox 2020. 9. 2. 17:37
반응형

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


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


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 구성 관리자

  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그렇다면 실행 중입니까?

실행 중이 아니면

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


시작-> 프로그램-> 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>

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

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

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

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

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


먼저 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)를 다시 시작합니다 .


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

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

여기에 이미지 설명 입력

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

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

여기에 이미지 설명 입력

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

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


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

I had to update the TCP/IP properties section in the SQL Server Configuration Manager for my SQL Server Express protocols, and set the IPALL port to 1433 in order to connect to the server as expected.

여기에 이미지 설명 입력


Try changing from windows authentication to mixed mode


This is odd I have a similar problem. I downloaded the package for SQL 2012 Express with Tools but the Database Engine was not install.

I donloaded the other one from the MS site and this one installed the database engine. After a reboot the services were listed and ready to go.


My situation

  • empty Instance Name in SQL Server Management Studio > select your database engine > Right Mouse Button > Properties (Server Properties) > Link View connection properties > Product > Instance Name is empty

  • Data Source=.\SQLEXPRESS did not work => use localhost in web.config (see below)

Solution: in web.config

xxxxxx = name of my database without .mdf yyyyyy = name of my database in VS2012 database explorer

You can force the use of TCP instead of shared memory, either by prefixing tcp: to the server name in the connection string, or by using localhost.

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


I had the same issue and I found that this happened after I installed an update for my SQL 2012. What fixed it for me was going into programs and features and running a repair on it.


The problem for me was that I was not specifying .\. I was only specifying the name of the instance:

  • did not work: SQL2016
  • worked: .\SQL2016

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

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


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

여기에 이미지 설명 입력

참고 URL : https://stackoverflow.com/questions/12774827/cant-connect-to-localhost-on-sql-server-express-2012-2016

반응형