无法在Visual Studio 2013中打开SQL Server创建的数据库文件

时间:2016-01-06 18:06:36

标签: sql-server visual-studio visual-studio-2012

我在SQL Server Management Studio中创建数据库。我尝试在Visual Studio中打开数据库.mdf文件但是当我点击“测试连接”时,我收到错误消息

  

无法打开物理文件“C:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ database.mdf”
  操作系统错误5:“5(拒绝访问)尝试为文件C:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ database.mdf附加自动命名的数据库失败。
  存在具有相同名称的数据库或无法打开指定的文件,或者它位于UNC共享

我当然是以管理员身份运行它,但它不起作用。

3 个答案:

答案 0 :(得分:1)

您已在服务器上创建了数据库。只需在服务器上使用 - 毕竟,SQL Server是基于服务器的解决方案!

使用.mdf文件 - 让SQL Server处理这些文件。 SQL Server NOT 基于文件的数据库,如Access,SQLite或FileMaker或其中任何一个 - 它基于服务器(以及那个好东西!)。

要与您的数据库交谈,只需定义必要的参数:

server=your-machine-name\SQLEXPRESS;database=database-you-created;integrated security=SSPI;

让SQL Server处理所有细节问题。只需使用数据库,因为它可以用作SQL Server数据库引擎控制下的数据库

答案 1 :(得分:1)

如果您尝试在Visual Studio中添加与现有SQL Server数据库的连接,则不应选择显示Attach a database file的选项。此外,请确保输入正确的Server Name和身份验证详细信息。

[ Add Connection Dialog in Visual Studio

只需连接到数据库,然后右键单击已连接的数据库下的Tables,即可在Visual Studio中添加表。看下面的屏幕截图。

Create Table in Visual Studio

答案 2 :(得分:0)

.mdf 代表master数据库文件。如果我们选择由Visual Studio本身处理的身份验证,那么.mdf文件和用于创建和处理身份验证相关表的所有代码将由 visual studio本身(例如,您可以通过选择个人帐户身份验证创建Web api来查看此自动生成的代码)。自动生成的表如下所示。

  • _MigrationHistory
  • AspNetRoles
  • AspNetUserClaims
  • AspNetUserLogins
  • AspNetUserRoles
  • AspNetUsers

我们可以通过双击创建的.mdf文件或查看>来访问服务器资源管理器以查看此表。服务器资源管理器。之后,服务器资源管理器将会出现,然后右键单击任何表格并选择show table data选项作为下面给出的屏幕截图。 enter image description here

然后我们可以在mdf数据库中看到已创建的表,如果需要,我们也可以编辑表。屏幕截图如下。

enter image description here