Visual Studio Server Explorer에서 LocalDB에 연결하는 방법은 무엇입니까?


240

한 시간 동안 검색 한 후에도 이에 대한 해결책을 찾지 못했다고 믿을 수 없습니다. Code First에 대한 간단한 연습을 제공하는 Entity Framework 6.0에 대한 이 기사 를 따르고 있습니다. 프로젝트를 만들고 프로젝트를 컴파일하기 위해 최신 EF Nuget 패키지 를 설치했습니다 . 또한 Visual Studio 2013과 함께 제공된 Microsoft SQL Server 2012 Express LocalDB가 설치되어 있는지 확인했습니다. 로컬 컴퓨터에 다른 SQL 인스턴스가 설치되어 있지 않습니다. 프로그램이 실행되고 항목이 데이터베이스에 추가되고 콘솔에 출력됩니다. 그러나 기사가 "localdb를 확인하십시오"라고 말하면 어떻게 말하지 않습니까! 프로젝트 폴더 아래에 생성 된 '.mdf'또는 '.ldf'파일이 없습니다. Visual Studio를 연결하는 모든 방법을 시도했습니다 ' 서버 탐색기에서 LocalDB로. 마법사가 찾을 수 없습니다(localdb)또는 서버 탐색기에서 연결 문자열을 수락하는 공급자를 찾을 수 없습니다 (localdb)\v11.0;Integrated Security=true;. 도와주세요.이 좌절 할 필요는 없습니다!

Visual Studio Server Explorer를 LocalDB에 연결하는 단계는 무엇입니까?


70
나는 종종이 사업에 들어가는 사람들을 불쌍히 여깁니다. 20 년 전에이 도구는 실제로 사용하기가 훨씬 쉬웠습니다. 문서는 이제 거의 적합하지 않으며 대부분의 경우보다 적습니다. MSDN에서 "foo"-> "This is the foo method"와 같은 방법을 설명하는 "documentation"을 볼 수 있습니다. 정말 Microsoft? 기술 작가는 어떻게 되었습니까? 온라인 설명서 (실제)는 어떻게 되었습니까?
피츠버그 DBA

1
Visual Studio를 관리자 권한으로 실행하고 있는지 확인하십시오.
대런 그리피스

4
당신은 비주얼 스튜디오의 사용 괜찮 경우 SQL 서버 개체 탐색기 대신 서버 탐색기를 . 간단한 해결책 (이하 수동 구성), 내 대답을 확인할 수 있습니다 : stackoverflow.com/a/41906391/3645638
Svek

내 설정은 localdb가 아닌 sqlserverexpress에 데이터베이스를 만듭니다. 무엇이 원인입니까?
Jason Cheng

답변:


282

에서 비주얼 스튜디오 2012 의 모든 I 입력 된해야했다 :

(localdb)\v11.0

Visual Studio 2015Visual Studio 2017이 다음으로 변경되었습니다.

(localdb)\MSSQLLocalDB

Microsoft SQL Server Data소스를 추가 할 때 서버 이름 으로 :

View/Server Explorer/(Right click) Data Connections/Add Connection

그런 다음 데이터베이스 이름이 채워졌습니다. 서버 이름 콤보 상자에서 서버 이름을 자동으로 사용할 수 있으면 좋을지라도 허용 된 답변의 다른 모든 단계를 수행 할 필요는 없습니다.

다음을 사용하여 머신에서 사용 가능한 LocalDB 데이터베이스 이름을 찾아 볼 수도 있습니다.

View/SQL Server Object Explorer.

4
예, 이것이 처음으로 작동하는 것입니다. 그러나 그렇지 않은 경우 승인 된 답변의 단계에서 서비스를 시작하고 작동시켜야합니다.
orad

Entity Framework에서 사용한 서버 이름을 찾기 위해 SQL Server Object Explorer에서 시작했을 수도 있습니다. 나는이 질문을 찾았지만 종류 나는 간단하게 뭔가를 기대했다으로 답을하려고 겁의이었고, 내가 :) 나는 파이프 이름을 사용했다 생각으로 완전하게 읽을 수 없습니다했습니다
RationalDev은 GoFundMonica 좋아

나는 세부 사항에 대해 눈을 멀게합니까, 아니면이 설정이 더 직관적이지 않다는 것이 극도로 실망 스럽습니까? 2012 년이든 2015 년이든 IDE 전체에서 이와 같은 것을 거의 숨기고있는 것 같습니다.
Rex_C

감사합니다. 당신의 대답을 찾을 때까지 나는 내 두뇌를 쌓고있었습니다.
Alexandre N.

5
왜 Microsoft입니까? 이름을 변경하고 문서를 업데이트하지 않는 이유는 무엇입니까? (VS 2015 경로에 감사드립니다)
Thibault D.

256

좋아, 내 자신의 질문에 대답.

LocalDB를 Visual Studio Server Explorer에 연결하는 단계

  1. 명령 프롬프트 열기
  2. 운영 SqlLocalDB.exe start v11.0
  3. 운영 SqlLocalDB.exe info v11.0
  4. np : \ ...로 시작 하는 인스턴스 파이프 이름 을 복사하십시오 .
  5. Visual Studio에서 도구> 데이터베이스에 연결 ...을 선택하십시오.
  6. 서버 이름에을 입력하십시오 (localdb)\v11.0. 작동하지 않으면 이전에 복사 한 인스턴스 파이프 이름 을 사용하십시오 . 이것을 사용하여 SQL Management Studio와 연결할 수도 있습니다.
  7. 다음 드롭 다운 목록에서 데이터베이스를 선택하십시오.
  8. 확인을 클릭하십시오

여기에 이미지 설명을 입력하십시오


86
요즘 MS 플랫폼에서 수행되는 거의 모든 행동에는 마술이나 사전에 기억 된 지식이 포함되어 있습니다. 완전히 새로운 마술이 마련되면 5 년 안에 누가 이러한 것들을 지원할까요?
tbone

34
감사합니다! 이 훌륭한 답변 (및 훌륭한 질문)에 추가하기 만하면 SqlLocalDb info모든 서버 이름이 나열됩니다. 필자의 경우 EF 코드 우선 마술 후에 데이터베이스가 MSSQLLocalDBnot으로 끝나서 연결 추가 대화 상자에 v11.0입력 (localdb)\MSSQLLocalDB했습니다.
biscuit314

1
SqlLocalDb.exe는 시스템 경로에 두 번 나타납니다. 먼저 C : \ Program Files \ Microsoft SQL Server \ 110 \ Tools \ Binn에 C : \ Program Files \ Microsoft SQL Server \ 120 \ Tools \ Binn에 나타납니다. 따라서 이전 버전 만 호출됩니다! VS2012와 VS 2013이 모두 설치되어 있습니다.
John Pankowicz

2
점점 더 많은 사람들이 Microsoft의 다른 프로그래밍 언어를 사용하고 있다고 생각합니다. 이 간단한 구성과 파일 위치는 다른 언어에없는 것보다 어려워졌습니다. 그들이 전혀 없다면.
JustJohn

4
나는 오후 내내 내 머리를 긁어왔다. 피가 너무 쉬웠을 때 왜 그렇게 복잡하게 만들어야합니까? 도와 주셔서 감사합니다.
George Williams

71

에서 선택하십시오 :

  1. 데이터 소스 : Microsoft SQL Server (SqlClient)
  2. 서버 이름: (localdb)\MSSQLLocalDB
  3. 서버에 로그온하십시오. Use Windows Authentication

데이터베이스 이름을 얻으려면 Refresh 버튼을 누릅니다 :)

스크린 샷


1
어쨌든 그것은 2015
-maazza

4
여기 vs2015와 동일합니다. 이것이 정답입니다. 이름이 localDb로 바뀌 었습니까?
punkouter

1
이것은 Win 8.1에서 VS2015 RC를 위해했습니다.
ScottG


vs2017에서도 작동합니다.
Toke Breer-Mortensen

25

대신 SSOX (SQL Server Object Explorer)를 사용하십시오.

다른 답변과 달리이 방법은 다음을 사용합니다
.-특별한 명령이 없습니다.
-복잡한 구성이 없습니다. SQL Server 개체 탐색기
만 사용하십시오.

꽤 간단합니다 ...

  • 보내는 사람 보기 메뉴를 열고 SQL 서버 개체 탐색기 .

하나

  • {YourTableName}테이블을 마우스 오른쪽 버튼으로 클릭하고 디자이너보기

두

끝난.


16

그것은 나를 위해 일했다.

  1. 명령 프롬프트 열기
  2. "SqlLocalDB.exe start"를 실행하십시오.
  3. 시스템 응답 "LocalDB 인스턴스"mssqllocaldb "가 시작되었습니다."
  4. VS에서 View / Server Explorer / (오른쪽 클릭) 데이터 연결 / 연결 추가
    • 데이터 원본 : Microsoft SQL Server (SqlClient)
    • 서버 이름 : (localdb) \ MSSQLLocalDB
    • 서버에 로그온 : Windows 인증 사용
  5. "연결 테스트"를 누른 다음 확인을 누르십시오.

8

다음은 SQLServer Express 2016을 사용하는 Windows 10의 Visual Studio 2017 Community Edition에서 작동합니다.

PowerShell을 열고 사용중인 항목 SqlLocalDB.exe info과 실행 여부를 확인하십시오 SqlLocalDB.exe info NAME. 내 컴퓨터의 모습은 다음과 같습니다.

> SqlLocalDB.exe info
MSSQLLocalDB
> SqlLocalDB.exe info MSSQLLocalDB
Name:               mssqllocaldb
Version:            13.0.1601.5
Shared name:
Owner:              DESKTOP-I4H3E09\simon
Auto-create:        Yes
State:              Running
Last start time:    4/12/2017 8:24:36 AM
Instance pipe name: np:\\.\pipe\LOCALDB#EFC58609\tsql\query
>

실행 중이 아니면로 시작해야합니다 SqlLocalDB.exe start MSSQLLocalDB. 실행 중은 Instance pipe name:로 시작 하는 것을 볼 수 있습니다 np:\\. 명명 된 파이프 문자열을 복사하십시오. VS2017에서보기를 열고 Server Explorer새로운 유형의 연결을 작성하고 Microsoft SQL Server (SqlClient)(전체 지방 연결 유형을 원하는 다른 파일 유형에 속지 마십시오)Server name: PowerShell에서 복사 한 인스턴스 파이프 이름으로 .

나는 또한 설정 Connect to database하여 설정 한 내 DOTNET 코어 / 엔티티 프레임 워크 핵심 프로젝트에서 작업 된 연결 문자열에 있던 동일한 데이터베이스를 수dotnet ef database update .

sqlcmd및 명명 된 파이프 문자열을 사용하여 로그인하고 데이터베이스를 생성 할 수 있습니다 .

sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query 1> create database EFGetStarted.ConsoleApp.NewDb; 2> GO

https://docs.microsoft.com/en-us/sql/tools/sqllocaldb-utility 에서 응용 프로그램의 사용자를 만드는 방법에 대한 지침이 있습니다.


7

Visual Studio 2015 RC에는 LocalDb 12가 설치되어 있지만 이전과 비슷한 지침이 있지만 '마법'을 알 필요는 없습니다.이를 사용하기 전에 기본 인스턴스가 켜져 있어야합니다 ... Rant complete, no no solution :

cmd> sqllocaldb start

어느 것이 표시 될 것인가

LocalDB instance "MSSQLLocalDB" started.

귀하의 인스턴스 이름은 다를 수 있습니다. VS로 팝업하여 서버 탐색기를 열고 데이터 연결을 마우스 오른쪽 단추로 클릭하고 추가를 선택한 후 서버 이름 유형에서 SQL Server를 선택하십시오.

(localdb)\MSSQLLocalDB

DB 이름을 입력하지 않고 'Test Connection'을 클릭하십시오.


6

수정이 작동하지 않습니다.

예제 그림에서와 같이이 모든 단계는 "시스템"데이터베이스에 대한 액세스 만 제공하며 액세스하려는 기존 사용자 데이터베이스를 선택할 수있는 옵션은 없습니다.

Express Edition이 아닌 로컬 Microsoft SQL Server 인스턴스에 액세스하는 솔루션은 SQL Server 측에 있습니다.

  1. 실행 대화 상자를 엽니 다 (WinKey + R)
  2. 유형 : "services.msc"
  3. SQL Server Browser를 선택하십시오.
  4. 속성을 클릭하십시오
  5. "비활성화 됨"을 "수동"또는 "자동"으로 변경
  6. "시작"서비스 버튼이 활성화되면 클릭하십시오.

끝난! 이제 연결 속성의 서버 이름 목록에서 로컬 SQL Server를 선택할 수 있습니다.


7
이 StackOverflow Q / A는 LocalDB 에 관한 것 입니다. 귀하의 답변은 다른 SQL 인스턴스 활성화에 관한 것입니다.
orad

나는 지역 환경에이 수정을 시도하고 원래의 질문은 당신이 무엇을,을 할 수 없습니다 게시에 대한 예상대로 수정 프로그램을 수행 생각 은하지 않습니다. Enterprise Edition = Enterprise 환경이라고 가정하지 마십시오. 우리 중 일부는 작업 판 시스템에서 로컬 개발을 위해 해당 에디션을 사용합니다.
alejandrob

브라우저를 사용하는 대신 여전히 (localdb)를 입력해야했지만 실제로는 나를 위해 수정했기 때문에 질문에 잘 대답합니다.
PeterJ

4

CMD를 관리자 권한으로 실행하십시오.

  1. 시작 메뉴 'cmd'에서-찾을 때까지 기다리십시오.
  2. cmd를 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 열기를 선택하십시오.
  3. 유형 : cd C : \ Program Files \ Microsoft SQL Server \ 120 \ Tools \ Binn
  4. 유형 : SqlLocalDB start
  5. 지금 입력 : SqlLocalDB 정보
  6. 사용 가능한 실행중인 SQL 인스턴스를 표시합니다. 원하는 것을 선택하십시오.
  7. 인스턴스 유형에 대한 자세한 내용은 SqlLocalDB info instanceName을 참조하십시오.

  8. VS에서 이제 연결을 설정할 수 있습니다. VS에서 View / Server Explorer / (오른쪽 클릭) 데이터 연결 / 연결 데이터 소스 추가 : Microsoft SQL Server (SqlClient) 서버 이름 : (localdb) \ MSSQLLocalDB 서버에 로그온 : Windows 사용 인증 "연결 테스트"를 누른 다음 확인을 누릅니다.

  9. 작업 완료


3

Visual Studio 2017에서 가장 빠른 방법은 도구-> SQL Server-> 새 쿼리로 이동하는 것입니다. 로컬 데이터베이스에서 선택하고 맨 아래에서 원하는 데이터베이스 이름을 선택하십시오.

대체 방법

Visual Studio 2017 서버 이름은 다음과 같습니다.

(localdb)\MSSQLLocalDB

메뉴 도구-> 데이터베이스에 연결 ...을 사용하여 새 연결을 추가하십시오.


SQLExpress를 기본 인스턴스에 설치하지 않은 경우 다음을 시도해 볼 수도 있습니다. '(localdb)'
Jason Geiger

1

위의 단계를 수행했지만 Visual Studio 2015 구성 전에 SQL Server 2014 LocalDB를 설치하는 것을 잊었습니다.

내 단계는 다음과 같습니다.

  1. SQL Server 2014 LocalDB를 설치하십시오.
  2. Visual Studio 2015를 연 다음 SQL Server 개체 탐색기 를 엽니 다 .
  3. SQL Server 태그에서 LocalDB를 찾으십시오.

이것이 누군가를 돕기를 바랍니다.


0

시나리오 : Windows 8.1, VS2013 Ultimate, SQL Express가 설치되어 실행 중이며 SQL Server Browser가 비활성화되었습니다. 이것은 나를 위해 일했다 :

  1. 먼저 서비스에서 SQL Server Browser를 활성화했습니다.
  2. Visual Studio에서 : 패키지 관리자 콘솔을 열고 다음을 입력하십시오. Enable-Migrations ; 그런 다음 Enable-Migrations -ContextTypeName VS에 마이그레이션 폴더를 만든 YourContextDbName 을 입력 합니다.
  3. Migrations 폴더 안에 "Configuration.cs"파일이 있으며 다음과 같이 자동 마이그레이션을 켭니다. AutomaticMigrationsEnabled = true;
  4. 애플리케이션을 다시 실행하면 환경에서 DefaultConnection이 작성되고 컨텍스트에서 새 테이블이 표시됩니다. 이 새로운 연결은 localdb를 가리 킵니다. 작성된 연결 문자열은 다음과 같이 표시됩니다. Data Source = (LocalDb) \ v11.0 ... (추가 매개 변수 및 작성된 mdf 파일의 경로)

이제 서버 이름으로 (LocalDb) \ v11.0 (적중 새로 고침) 새 연결을 만들 수 있습니다. 데이터베이스에 연결 : 드롭 다운에서 새 데이터베이스를 선택하십시오.

도움이 되길 바랍니다.


-1

SQL Server 2017 및 Visual Studio 2015에서는 다음을 사용했습니다. localhost\SQLEXPRESS

여기에 이미지 설명을 입력하십시오

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