Không thể mở cơ sở dữ liệu vì nó là phiên bản 782. Máy chủ này hỗ trợ phiên bản 706 trở về trước. Đường dẫn hạ cấp không được hỗ trợ


84

Tôi đã tạo cơ sở dữ liệu mẫu bằng SQL Server 2014 Express và thêm nó vào giải pháp Windows Form của mình. Khi nhấp đúp vào nó để mở, tôi gặp lỗi này.

Không thể mở cơ sở dữ liệu vì nó là phiên bản 782. Máy chủ này hỗ trợ phiên bản 706 trở về trước. Đường dẫn hạ cấp không được hỗ trợ

Tôi đang sử dụng Visual Studio 2013. Tôi thực sự không hiểu rằng tôi đang sử dụng hai phiên bản mới nhất của sản phẩm Microsoft và chúng không tương thích. Tui bỏ lỡ điều gì vậy? Làm cách nào để mở cơ sở dữ liệu này?

nhập mô tả hình ảnh ở đây


2
Bạn cần trỏ Visual Studio vào phiên bản SQL Server 2014 của mình. Không phải là cả hai không tương thích, mà là Visual Studio đang sử dụng phiên bản 2012 của nó theo mặc định và nó không hỗ trợ cơ sở dữ liệu từ năm 2014. Lý do nó sử dụng 2012 làm mặc định: SQL Server 2014 không tồn tại khi Visual Studio 2013 đã được phát hành.
Aaron Bertrand

@AaronBertrand cảm ơn. Làm cách nào để trỏ VS vào SQL Server 2014. Có liên kết nào hướng dẫn không?
Omer K

5
Chắc chắn, chỉ cần dừng việc trỏ Visual Studio (và ứng dụng của bạn) vào một tệp (đang sử dụng AttachDBFileName). Giả sử cơ sở dữ liệu đã được đính kèm tại phiên bản cục bộ của bạn .\SQLEXPRESS, chỉ cần thay đổi các chuỗi kết nối để trỏ đến máy chủ đó ( Data Source=.\SQLEXPRESS;Initial Catalog=OMERDENEME;...) và ngừng sử dụngAttachDBFileName .
Aaron Bertrand

Câu trả lời:


141

Hãy thử thay đổi Tools> Options> Database Tools> Data Connections> SQL Server Instance Name.

Mặc định cho VS2013 là (LocalDB)\v11.0.

(LocalDB)\MSSQLLocalDBVí dụ: thay đổi thành có vẻ hoạt động - không còn lỗi phiên bản 782 nữa.


2
Tôi đã gặp sự cố tương tự với Visual Studio 2013 Express cho Web và Entity Framework 6. EF đã tự động tạo tệp MDF, nhưng tôi không thể kết nối từ VS khi sử dụng (LocalDB)\v11.0. Việc thay đổi tên máy chủ (LocalDB)\MSSQLLocalDBkhiến lỗi về phiên bản # biến mất.
wrschneider

3
Tôi cũng đã phải thay đổi chuỗi kết nối trong file web.config để (LocalDB) \ MSSQLLocalDB
Roger Harvest

11
Trong VS Studio 2015, mặc định là (LocalDB) \ MSSQLLocalDB. Vì vậy, điều này không hữu ích trong trường hợp này
hữu ích. Xem

2
Tôi đã phải khởi động lại Visual Studio sau khi thay đổi cài đặt đã đề cập ở trên
Manoj Attal

1
@ Kun-yaoWang, bình luận nêu trên bởi usefulBee làm việc cho tôi và tôi đang sử dụng VS 2015.
Manoj Attal

10

Cố gắng thay đổi mức độ tương thích , phù hợp với tôi.

Xác minh xem nó ở cấp độ nào

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

Sau đó, làm cho nó tương thích với phiên bản cũ hơn

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

Theo mặc định, Sql Server 2014 sẽ thay đổi khả năng tương thích của các phiên bản db thành chỉ 2014, bằng cách sử dụng nó, @@ versionbạn sẽ có thể biết Sql Server là phiên bản nào.

Sau đó chạy lệnh trên để thay đổi phiên bản bạn có.

Bước bổ sung: Đảm bảo bạn nhìn vào khả năng truy cập của DB không được đặt lại, thực hiện việc này bằng cách nhấp chuột phải vào thuộc tính của thư mục và cơ sở dữ liệu. (đảm bảo rằng bạn có quyền để không bị từ chối truy cập)


2

Đối với tôi, sử dụng giải pháp do cocodeom cung cấp đã không hoạt động. Ở đây chúng tôi chỉ có thể thay đổi phiên bản tương thích của cơ sở dữ liệu thoát.

Nhưng vấn đề thực tế nằm ở chỗ, phiên bản cơ sở dữ liệu nội bộ không khớp do những thay đổi trong định dạng lưu trữ ở đó.

Kiểm tra thêm chi tiết về phiên bản SQL Server và phiên bản db nội bộ & mức độ tương thích Db của chúng tại đây Vì vậy, sẽ rất tốt nếu bạn tạo cơ sở dữ liệu của mình bằng phiên bản SQL Server 2012 Express trở xuống. Hoặc bắt đầu sử dụng Visual Studio 2015 Preview.


2

Giải pháp này giải quyết vấn đề của tôi: (từ: https://msdn.microsoft.com/en-us/library/ms239722.aspx )

Để đính kèm vĩnh viễn tệp cơ sở dữ liệu (.mdf) từ nút Kết nối dữ liệu

  1. Mở menu lối tắt cho Kết nối Dữ liệu và chọn Thêm Kết nối Mới.

    Các Add hộp thoại Connection sẽ xuất hiện.

  2. Chọn nút Thay đổi .

    Các Change Data Source hộp thoại xuất hiện.

  3. Chọn Microsoft SQL Server và chọn nút OK .

    Các Add kết nối hộp thoại lại xuất hiện, với Microsoft SQL Server (SqlClient) hiển thị trong nguồn dữ liệu hộp văn bản.

  4. Trong hộp Tên máy chủ, nhập hoặc duyệt đến đường dẫn đến phiên bản cục bộ của SQL Server. Bạn có thể nhập như sau:

    • "." cho phiên bản mặc định trên máy tính của bạn.
    • "(LocalDB) \ v11.0" cho phiên bản mặc định của SQL Server Express LocalDB.
    • ". \ SQLEXPRESS" cho phiên bản mặc định của SQL Server Express.

    Để biết thông tin về SQL Server Express LocalDB và SQL Server Express, hãy xem Tổng quan về Dữ liệu Cục bộ .

  5. Chọn Sử dụng Xác thực Windows hoặc Sử dụng Xác thực Máy chủ SQL .

  6. Chọn Đính kèm tệp cơ sở dữ liệu , Duyệt qua và mở tệp .mdf hiện có.

  7. Chọn nút OK .

    Cơ sở dữ liệu mới xuất hiện trong Server Explorer. Nó sẽ vẫn được kết nối với SQL Server cho đến khi bạn tách nó ra một cách rõ ràng.


1
Giải pháp này đã làm việc cho tôi. Tôi đã thay đổi cài đặt kết nối mặc định Vs2012 của mình trong tool-option-database tools-> data connection -> sql server name = (LocalDB) \ MSSQLLocalDB. và sau đó làm theo bước trên. và ở bước 4, tôi đã nhập tên phiên bản ny sql 2014 là (LocalDB) \ MSSQLLocalDB. và mọi thứ đều ổn. cảm ơn nhé người anh em.
Abdul hameed

1

Một giải pháp khác là di chuyển cơ sở dữ liệu sang ví dụ 2012 khi bạn "xuất" DB từ Sql Server manager 2014. Điều này được thực hiện trong menu Nhiệm vụ-> tạo tập lệnh khi nhấp chuột phải vào DB. Chỉ cần làm theo hướng dẫn sau:

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

Nó tạo ra một tập lệnh với mọi thứ và sau đó trong trình quản lý máy chủ SQL của bạn, ví dụ 2012 chạy tập lệnh như được chỉ định trong hướng dẫn. Tôi đã thực hiện thử nghiệm thành công.


0

Tôi sử dụng VS 2017. Theo mặc định, tên Phiên bản SQL Server là (LocalDB) \ MSSQLLocalDB. Tuy nhiên, hạ cấp độ tương thích của cơ sở dữ liệu xuống 110 như trong câu trả lời của @ user3390927, tôi có thể đính kèm tệp cơ sở dữ liệu trong VS, chọn Tên máy chủ là "localhost \ SQLExpress".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.