10

tôi đã tạo ra một cơ sở dữ liệu emailDatabase, lưu trữ nó trongKhông thể truy cập vào cơ sở dữ liệu của tôi được tạo ra mặc dù Visual Studio?

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 

Trong Visual Studio, tôi sử dụng Server Explorer, nhấp vào nút thêm kết nối mới.

Hộp thoại thêm kết nối sẽ xuất hiện.

Dưới tên máy chủ, tôi sử dụng hộp thả xuống và chọn DEV-5\SQLEXPRESS. Tôi sử dụng xác thực Windows.

Trong phần Connect to ở dưới cùng, trình đơn thả xuống hiển thị: Master, Model, msdbtempdb và không hiển thị emailDatabase của tôi.

Vì vậy, tôi chọn Attach Database File rồi nhấn Browse và làm theo

local C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 

và chọn cơ sở dữ liệu email của tôi.

Các lỗi sau đây xảy ra:

emailDatabase
Bạn don không có sự cho phép để mở file này.
Liên hệ với chủ sở hữu tệp hoặc quản trị viên để nhận quyền.

Tôi nghĩ rằng vấn đề của tôi là tôi đã lưu cơ sở dữ liệu sai, tôi cần sao lưu hoặc một cái gì đó tương tự. nếu đó là trường hợp xin vui lòng tel cho tôi làm thế nào để thực hiện một sao lưu và như vậy. Tôi thực sự cần phải tiến lên từ vấn đề này.

Khi tôi tạo cơ sở dữ liệu, tôi đã nhấp chuột phải vào cơ sở dữ liệu trong SQL Server Management Studio và nói cơ sở dữ liệu mới, sau đó tôi đã thêm cột với truy vấn. sau đó lưu tất cả.

Tôi làm cách nào để có được bản sao tệp cơ sở dữ liệu của mình với tất cả các quyền tôi cần sử dụng trong Visual Studio ??

+0

Bạn đã kết nối với 'DEV-5 \ SQLEXPRESS' với SQL Server Management Studio của mình, khi bạn tạo cơ sở dữ liệu chưa? Hoặc là có một cơ hội bạn có thể đã tạo ra cơ sở dữ liệu trên một ** instance ** (bản sao) khác của SQL Server? –

+1

Tôi chưa khởi động lại VS của mình, tôi sẽ thử ngay bây giờ, um no i không kết nối với DEV-5 \ SQLEXPRESS hoặc ít nhất tôi không nghĩ vậy, tôi không chắc nó là gì, nó chỉ là một tùy chọn có sẵn trong hộp thả xuống trong VS. – Pomster

Trả lời

15

Khi bạn tạo một cơ sở dữ liệu trên máy chủ (sử dụng SQL Server Management Studio), bạn không cần phải (và không nên!) Fiddle xung quanh với các tập tin cơ sở dữ liệu (s) nữa - hãy để xử lý máy chủ cho bạn.

Thay vào đó: làm một Add Connection trong Visual Studio và sau đó xác định các trường hợp máy chủ (DEV-5\SQLEXPRESS) và tên cơ sở dữ liệu (emailDatabase) trong hộp thoại kết nối của bạn.

Với điều này, bạn đang kết nối và sử dụng cơ sở dữ liệu SQL Server theo cách nó dự định được sử dụng - trên bản thân SQL Server. Đây là dễ dàng hơn nhiều, và ít nhiều rắc rối, vì phải vật lộn với "trôi nổi tự do" .mdf tập tin và đính kèm chúng vào các giải pháp và công cụ như thế bạn ....

enter image description here

Vì vậy, đây - điền vào DEV-5\SQLEXPRESS vào danh sách thả xuống "Tên máy chủ", sau đó sử dụng tùy chọn "Chọn hoặc nhập tên cơ sở dữ liệu" và nhập tên cơ sở dữ liệu của bạn (hoặc chọn nó từ trình đơn thả xuống) - nó sẽ ở đó!

KHÔNG sử dụng "Đính kèm một tập tin cơ sở dữ liệu" tùy chọn - đây là trôi nổi tự do "tính năng" .mdf mà là khá vụng về và khó sử dụng và dễ bị lỗi - một lần nữa: Tôi khuyên bạn nên không sử dụng mà ...

+1

Tôi chưa chạm vào bất kỳ tệp nào, tôi đã tạo Cơ sở dữ liệu của mình trong MS SQL Server rồi nhấp vào lưu tất cả, và bây giờ tôi đang cố gắng định vị nó trong Visual Studio. – Pomster

+1

Có, tôi nhận được màn hình đó và có nó như của bạn, nhưng trong việc chọn hoặc nhập một tên cơ sở dữ liệu, tôi không có trong trình đơn thả xuống? trong câu hỏi của tôi, tôi đề cập rằng chỉ có Master, Model, msdb và tempdb là có. – Pomster

+1

Tôi có thể làm gì, hoặc những gì tôi không làm để có được cơ sở dữ liệu của tôi để được trong hộp thả xuống ?? – Pomster

0

Tôi nghĩ tôi đã tìm ra nhưng các sự cố vẫn tiếp tục xuất hiện. Vì vậy, ...

TẤT CẢ MỌI MỌI MỌI ĐƯỜNG DÂY NÀY.

Sau giờ làm việc tôi cuối cùng đã tìm ra cách sử dụng SSMS để kết nối với cơ sở dữ liệu SQLServer 2008 đã được tạo trong VS2010 và nó tương đối đơn giản. Nhưng từ số lượng câu hỏi chưa được trả lời trên tất cả các nơi không tài liệu tốt. Dưới đây là làm thế nào để làm điều đó:

  1. Trong VS kích chuột phải vào dự án trong SolutionExplorer và chọn Add item mới sau đó chọn dữ liệu sau đó cơ sở dữ liệu SQLServer. Nó sẽ nhắc bạn lưu nó vào thư mục app_data và tạo thư mục cho bạn nếu nó không tồn tại.

  2. Tìm file Ssms.exe (trên hệ thống của tôi nó trong C: \ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \ VSShell \ Common7 \ IDE

  3. Nhấp chuột phải và chọn Ssms.exe Run as administrator.

  4. Sau SSMS mở ra cho bạn có thể đính kèm MDF dự án. Nó bây giờ sẽ là trên danh sách các cơ sở dữ liệu. tên cơ sở dữ liệu là một GUID.

  5. bạn thậm chí có thể chạy aspnet_regsql chống lại cơ sở dữ liệu thêm bảng thành viên và sprocs.

QUAN TRỌNG! Bạn có thể quản lý cơ sở dữ liệu này với EITHER SMSS HOẶC VS nhưng không phải cả hai cùng một lúc. Nếu bạn lộn xộn với cơ sở dữ liệu từ bên trong VS bằng cách sử dụng ServerExplorer, bạn sẽ phá vỡ kết nối SSMS. Để khắc phục điều đó, bạn sẽ cần phải tách và lắp lại cơ sở dữ liệu.

0

Đã xảy ra sự cố tương tự và tôi nhận ra sự cố không có trong VS2010 nhưng máy chủ SQL của tôi.
Tên cá thể của tôi là OMAFANO và đó là những gì MSSQL của tôi được kết nối với dưới Tên máy chủ. Bây giờ đây là bắt, bấm vào đó và kết nối với OMAFANO \ SQLEXPRESS và tạo tất cả cơ sở dữ liệu và bảng của bạn ở đó nếu bạn muốn chúng hiển thị trong VS2010 theo cách bạn đã nêu ở trên đó. Vì vậy, dưới tên máy chủ trong VS2010 cũng viết INSTANCENAME \ SQLEXPRESS nếu bạn muốn xem cơ sở dữ liệu mới được tạo ra của bạn, vv Hãy nhìn vào bức tranh:
enter image description here

0

Chạy Visual Studio của bạn As Administrator Đến Visual Studio dụ tức C#, C++ vv nhấp chuột phải> Run as Administrator

Sau đó Nó bây giờ có thể làm việc

0

để kết nối với một cơ sở dữ liệu ssms2014 từ visual studio 2013, trong chương trình kết nối mới, tôi đã phải thay đổi 'nguồn dữ liệu' từ ' ms sql máy chủ cơ sở dữ liệu tập tin 'để' .net khuôn khổ dữ liệu nhà cung cấp cho máy chủ sql .. '. Sau đó, tôi đã có thể nhập [tên máy tính] [tên người dùng] để xác thực cửa sổ.

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