버전 782이므로 데이터베이스를 열 수 없습니다.이 서버는 버전 706 이하를 지원합니다. 다운 그레이드 경로는 지원되지 않습니다.


84

SQL Server 2014 Express를 사용하여 샘플 데이터베이스를 만들고 Windows Form 솔루션에 추가했습니다. 두 번 클릭하여 열면이 오류가 발생합니다.

버전 782이므로 데이터베이스를 열 수 없습니다.이 서버는 버전 706 이하를 지원합니다. 다운 그레이드 경로는 지원되지 않습니다.

Visual Studio 2013을 사용하고 있습니다. 두 가지 최신 버전의 Microsoft 제품을 사용하고 있으며 호환되지 않는다는 사실을 잘 모르겠습니다. 내가 뭔가를 놓치고 있습니까? 이 데이터베이스를 어떻게 열 수 있습니까?

여기에 이미지 설명 입력


2
SQL Server 2014 인스턴스에서 Visual Studio를 가리켜 야합니다. 두 가지가 호환되지 않는 것이 아니라 Visual Studio가 기본적으로 2012 인스턴스를 사용하고 있으며 2014 년부터 데이터베이스를 지원하지 않기 때문입니다. 2012를 기본값으로 사용하는 이유 : Visual Studio 2013 에는 SQL Server 2014 가 없었습니다. 출시되었습니다.
Aaron Bertrand

@AaronBertrand 감사합니다. SQL Server 2014에서 VS를 어떻게 가리킬 수 있습니까? 안내 할 링크가 있습니까?
Omer K

5
물론, 파일에서 Visual Studio (및 애플리케이션)를 가리키는 작업을 중지하십시오 (사용 AttachDBFileName). 데이터베이스가 이미 로컬 연결되어 가정하면 .\SQLEXPRESS, 예를 그냥 서버 (가리 키도록 연결 문자열을 변경 Data Source=.\SQLEXPRESS;Initial Catalog=OMERDENEME;...) 및 사용을 중지AttachDBFileName .
Aaron Bertrand

답변:


141

변경 시도 Tools> Options> Database Tools> Data Connections> SQL Server Instance Name.

VS2013의 기본값은 (LocalDB)\v11.0.

(LocalDB)\MSSQLLocalDB예를 들어으로 변경하면 작동하는 것 같습니다. 더 이상 버전 782 오류가 발생하지 않습니다.


2
Visual Studio 2013 Express for Web 및 Entity Framework 6에서 비슷한 문제가 발생했습니다. EF는 MDF 파일을 자동으로 만들었지 만 .NET을 사용할 때 VS에서 연결할 수 없습니다 (LocalDB)\v11.0. 서버 이름을 변경하여 (LocalDB)\MSSQLLocalDB버전 #에 대한 오류가 사라졌습니다.
wrschneider

3
또한 (LocalDB) \ MSSQLLocalDB에 web.config 파일에서 연결 문자열을 변경 한
로저 수확

11
VS Studio 2015에서 기본값은 (LocalDB) \ MSSQLLocalDB입니다. 따라서이 경우에는 도움이되지 않습니다.
usefulBee 2011

2
위에서 언급 한 설정을 변경 한 후 Visual Studio를 다시 시작해야했습니다.
Manoj Attal 2015

1
군-yaoWang @ usefulBee 언급 위의 의견은 나를 위해 일한 내가 VS 2015 사용하고 있습니다
마노 Attal

10

나를 위해 일한 호환성 수준 을 변경하십시오 .

레벨 확인

USE VJ_DATABASE;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'VJ_DATABASE';
GO

그런 다음 이전 버전과 호환되도록 만드십시오.

ALTER DATABASE VJ_DATABASE
SET COMPATIBILITY_LEVEL = 110;   
GO
  • 100 = SQL Server 2008
  • 110 = SQL 서버 2012
  • 120 = SQL 서버 2014

기본적으로 Sql Server 2014는 Sql Server 버전 @@ version이 무엇인지 알 수 있어야 함을 사용하여 db 버전 호환성을 2014로만 변경합니다 .

그런 다음 위의 명령을 실행하여 현재 버전을 변경하십시오.

추가 단계 : DB의 접근성이 재설정되지 않았는지 확인하고 폴더 및 데이터베이스의 속성을 마우스 오른쪽 버튼으로 클릭하여이를 수행합니다. (액세스가 거부되지 않도록 권한이 있는지 확인)


2

나를 위해 codedom에서 제공하는 솔루션을 사용하면 작동하지 않았습니다. 여기서는 기존 데이터베이스의 호환성 버전 만 변경할 수 있습니다.

그러나 실제 문제는 내부 데이터베이스 버전이 저장 형식의 변경으로 인해 일치하지 않는다는 것입니다.

SQL Server 버전 및 내부 db 버전 및 Db 호환성 수준에 대한 자세한 내용은 여기에서 확인하십시오. 따라서 SQL Server 2012 Express 버전 이하를 사용하여 데이터베이스를 생성하는 것이 좋습니다 . 또는 Visual Studio 2015 Preview를 사용하세요.


2

이 솔루션은 내 문제를 해결합니다. (출처 : https://msdn.microsoft.com/en-us/library/ms239722.aspx )

데이터 연결 노드에서 데이터베이스 파일 (.mdf)을 영구적으로 연결하려면

  1. 데이터 연결에 대한 바로 가기 메뉴를 열고 새 연결 추가를 선택합니다.

    추가 연결 대화 상자가 나타납니다.

  2. 변경 버튼을 선택 합니다.

    데이터 소스 변경 대화 상자가 나타납니다.

  3. 선택 Microsoft SQL Server를 하고 선택 OK 버튼을 누릅니다.

    연결 추가 와 대화 상자가 다시 나타납니다, 마이크로 소프트 SQL 서버 (하는 SqlClient)는 에 표시되는 데이터 소스 텍스트 상자.

  4. 서버 이름 상자에 SQL Server의 로컬 인스턴스 경로를 입력하거나 찾습니다. 다음을 입력 할 수 있습니다.

    • "." 컴퓨터의 기본 인스턴스에 대해.
    • SQL Server Express LocalDB의 기본 인스턴스 인 경우 "(LocalDB) \ v11.0"
    • SQL Server Express의 기본 인스턴스 인 경우 ". \ SQLEXPRESS"

    SQL Server Express LocalDB 및 SQL Server Express에 대한 자세한 내용은 로컬 데이터 개요를 참조하십시오 .

  5. Windows 인증 사용 또는 SQL Server 인증 사용을 선택합니다 .

  6. 데이터베이스 파일 연결 , 찾아보기를 선택 하고 기존 .mdf 파일을 엽니 다.

  7. 확인 버튼을 선택 합니다.

    새 데이터베이스가 서버 탐색기에 나타납니다. 명시 적으로 분리 할 때까지 SQL Server에 연결된 상태로 유지됩니다.


1
이 솔루션은 저에게 효과적이었습니다. tool-option-database tools-> data connection-> sql server name = (LocalDB) \ MSSQLLocalDB에서 Vs2012 기본 연결 설정을 변경했습니다. 위의 단계를 따랐습니다. 4 단계에서 ny SQL 2014 인스턴스 이름을 (LocalDB) \ MSSQLLocalDB로 입력했습니다. 모든 것이 괜찮습니다. 감사합니다 형제.
압둘 하미드

1

또 다른 해결책은 예를 들어 Sql Server Manager 2014에서 DB를 "내보낼"때 데이터베이스를 2012로 마이그레이션하는 것입니다. 이는 DB를 마우스 오른쪽 버튼으로 클릭 할 때 메뉴 작업-> 스크립트 생성에서 수행됩니다. 다음 지침을 따르십시오.

https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/

모든 것이 포함 된 스크립트를 생성 한 다음 SQL 서버 관리자 (예 : 2012)에서 지침에 지정된대로 스크립트를 실행합니다. 나는 성공적으로 테스트를 수행했습니다.


0

VS 2017을 사용합니다. 기본적으로 SQL Server 인스턴스 이름은 (LocalDB) \ MSSQLLocalDB입니다. 그러나 @ user3390927의 대답에서와 같이 데이터베이스의 호환성 수준을 110으로 다운 그레이드하면 서버 이름을 "localhost \ SQLExpress"로 선택하여 VS에 데이터베이스 파일을 연결할 수 있습니다.

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