2008-11-16 47 views
15

Tôi đang cố gắng một số các hướng dẫn ASP.NET MVC và một trong số họ có các bước sau:Tại sao Visual Studio 2008 không tạo tệp .mdf với SQL Server 2008 Developer?

  • Nhấp chuột phải vào thư mục "" App_Data, và chọn "Thêm mục mới"
  • Chọn "Cơ sở dữ liệu máy chủ SQL" trong danh mục "Dữ liệu".

Tuy nhiên, khi tôi làm điều đó, tôi nhận được thông báo sau từ Visual Studio:

Connections các tập tin SQL Server (* .mdf) yêu cầu SQL Server Express 2005 đến hoạt proprely. Vui lòng xác minh việc cài đặt thành phần hoặc tải xuống từ URL ...

Vấn đề là tôi đã cài đặt phiên bản SQL Server 2008 Developer Edition và thực sự không cài đặt bất kỳ phiên bản Express (2005 hoặc 2008) nào Tôi không phải làm vậy. Có vấn đề gì cho vấn đề này không?

+0

câu trả lời của Ken thực sự cần là câu trả lời chấp nhận. Đó là một lỗi trong Visual Studio 2008 yêu cầu một hotfix. Nó phải làm với cài đặt một phiên bản 64-bit của SQL Server Express và Visual Studio 2008 SP1. http://stackoverflow.com/questions/293281/why-wont-visual-studio-2008-create-mdf-files-with-sql-server-2008-developer-ins/1582599#1582599 –

+0

Tôi không tin như vậy ; ông vẫn đang nói về việc sử dụng SQL Server Express nơi tôi đã mô tả một tình huống với phiên bản SQL Server Developer. Lời giải thích của GalacticCowboy vẫn còn hợp lệ, theo như tôi biết. – Jedidja

Trả lời

5

Trên thực tế SQL Express là một công cụ cơ sở dữ liệu hoàn toàn khác sau đó là SQL Server 2005. Vì vậy, nếu bạn muốn sử dụng các tệp mdf bạn cần SQL Express.

+0

Ồ, điều đó có nghĩa là tôi sẽ phải sử dụng cách tiếp cận bình thường để tạo một cơ sở dữ liệu riêng biệt và tham chiếu nó trong dự án thay vì những gì các hướng dẫn gợi ý. Cảm ơn :) – Jedidja

+2

Đó là tuyên bố rất gây hiểu lầm. SQL Express và sản phẩm SQL Server đầy đủ thực sự chia sẻ cùng một công cụ cơ sở dữ liệu (và hầu như mọi thứ khác). Lý do tại sao máy chủ đầy đủ không hỗ trợ cơ sở dữ liệu cá thể người dùng là ngoài tôi, nhưng nó rất có thể là một quyết định kinh doanh hoặc một định tuyến trong bảo mật. Thực hiện khôn ngoan, tất cả các bit đều có. –

+0

Thực ra chúng không giống nhau (do đó có sự khác biệt). Các loại và tối ưu hóa là khác nhau, sử dụng nhiều CPU, thói quen cấp phát bộ nhớ, rất nhiều thay đổi. Chúng có thể CHỨC NĂNG giống nhau, nhưng hoàn toàn khác nhau dưới mui xe. Lý do có thể không hỗ trợ họ là chúng hoạt động khủng khiếp. Nó không phải là một thực hành tốt nhất để sử dụng chúng trong bất cứ điều gì ngắn của trình diễn. Các kết nối dựa trên tệp chậm hơn một chút. –

7

Để chiếu sáng câu trả lời của masfenix, SQL Express hỗ trợ một tính năng không được SQL Server hỗ trợ đầy đủ: cơ sở dữ liệu "cá thể người dùng". Với SQL Express được cài đặt và một tệp mdf trong thư mục App_Data của bạn, ứng dụng sẽ tự động đính kèm và tách nó khi cần thiết. Đối với người có sở thích hoặc các trang web doanh nghiệp nhỏ, điều này có thể hoàn hảo. Nếu bạn đang chạy SQL ở nơi khác trong doanh nghiệp, có thể bạn không muốn đi tuyến đường này và do đó tính năng này không hữu ích cho bạn.

+0

Cảm ơn bạn đã làm rõ :) – Jedidja

2

Tôi muốn chỉ ra rằng tôi đã cài đặt cả phiên bản dành cho nhà phát triển và phiên bản Express. Và tôi vẫn gặp phải lỗi tương tự. Tôi nghĩ rằng phiên bản Express phải được cài đặt như một ví dụ duy nhất.

+2

Bạn nên chắc chắn rằng Visual Studio biết về trường hợp của bạn của SQL Server. Chuyển đến Visual Studion -> Tools -> Database Tools -> Data Connections -> [Instance Name]. Hãy chắc chắn rằng nó liệt kê tên dụ chính xác cho SQL Express của bạn (thường là "SQLEXPRESS"). –

1

Tôi có cùng sự cố nhưng tôi đã cài đặt chuyên biệt sql 2008 express. bất kỳ cách nào để làm cho nó hoạt động với sql 2008 express vì vậy tôi không phải cài đặt instance sql thứ 4 trên máy của tôi? Tôi đã có sql 2005, sql 2008, sql 2008 thể hiện

gì F ... :)

+0

Bạn nên chắc chắn rằng Visual Studio biết về trường hợp của bạn của SQL Server. Chuyển đến Visual Studion -> Tools -> Database Tools -> Data Connections -> [Instance Name]. Hãy chắc chắn rằng nó liệt kê tên dụ chính xác cho SQL Express của bạn (thường là "SQLEXPRESS"). –

+0

Tại sao không chỉ tạo cơ sở dữ liệu trong một trong 3 trường hợp khác mà bạn đã cài đặt và sử dụng? Tại sao phải bận tâm với kết nối dựa trên tệp? –

12

Tôi chạy vào vấn đề này quá trên 64-bit Windows 7 (sử dụng 64-bit SQL Server Express 2008).

Có hai phương pháp sửa chữa vấn đề này tham chiếu trong Microsoft Support Knowledge Base article:

1. Cách giải quyết

Để làm việc xung quanh vấn đề này, gỡ bỏ cài đặt phiên bản 64-bit của SQL Server nhanh 2008, và sau đó cài đặt phiên bản 32 bit của SQL Server Express 2008.

Nếu bạn không muốn thực hiện việc gỡ cài đặt/cài đặt, hãy thử phương pháp Hotfix bên dưới.

2.Hotfix

Hotfix được hỗ trợ hiện có sẵn từ Microsoft. Tuy nhiên, nó là nhằm khắc phục chỉ sự cố mà bài viết này mô tả. Áp dụng nó chỉ cho các hệ thống đang gặp phải vấn đề cụ thể này.

Mặc dù bài báo đó không bao gồm một liên kết đến các hotfix, bạn có thể lấy nó ở đây: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=957944

+2

+1 Điều này giải quyết được sự cố của tôi khi làm việc trên nền tảng 64 bit. – dlux

Các vấn đề liên quan