无法访问通过Visual Studio创建的数据库?

Pom*_*ter 10 database sql-server visual-studio-2010 sql-server-2008 visual-studio

我创建了一个数据库emailDatabase,它存储在

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中,我使用Server Explorer,单击添加新连接按钮.

将出现"添加连接"对话框.

在服务器名称下,我使用下拉框并选择DEV-5\SQLEXPRESS.我使用Windows身份验证.

Connect to底部的部分中,下拉列表显示:Master, Model, msdb并且tempdb不显示我的emailDatabase.

所以我选择Attach Database File并单击浏览并关注

local C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
Run Code Online (Sandbox Code Playgroud)

并选择我的电子邮件数据库

发生以下错误:

emailDatabase
您无权打开此文件.
联系文件所有者或管理员以获取权限.

我认为我的问题是我保存了我的数据库错误,我需要备份或类似的东西.如果是这种情况请告诉我如何备份等等.我真的需要从这个问题前进.

当我创建我的数据库时,我右键单击SQL Server Management Studio中的数据库并说新数据库,然后我添加了带有查询的列.然后文件保存所有.

如何获取我的数据库文件的副本,其中包含我在Visual Studio中使用它所需的所有权限?

mar*_*c_s 17

当您在服务器上创建数据库(使用SQL Server Management Studio)时,您不必(也不应该!)不再使用数据库文件 - 让服务器为您处理.

相反:在Visual Studio中执行" 添加连接",然后在连接对话框中指定服务器实例(DEV-5\SQLEXPRESS)和数据库名称(emailDatabase).

有了这个,您就可以按照SQL Server实例本身的方式连接和使用SQL Server数据库.这比使用"自由浮动" .mdf文件并将它们附加到您的解决方案和类似的东西更容易,更轻松,麻烦.

在此输入图像描述

所以在这里 - 填写DEV-5\SQLEXPRESS您的"服务器名称"下拉列表,然后使用"选择或输入数据库名称"选项并输入您的数据库名称(或从下拉列表中选择它) - 它应该在那里!

不要使用"附加数据库文件"选项 - 这是一个自由浮动的.mdf"功能",它相当笨拙,难以使用且容易出错 - 再次:我建议不要使用它...

  • @Pomster:如果你连接到`(local)`,那么你在你的机器上的**默认实例**上创建你的数据库.在这种情况下,您还需要在Visual Studio对话框的"服务器名称:"下拉框中输入`(local)`以连接到您创建数据库的**实例**!你肯定有两个实例 - 默认(`(本地)`)和Express(`DEV-5\SQLEXPRESS`) - 这就像**两个单独的**SQL Server一样 - 你需要知道**其中**你创建你的数据库 - 你不能从其他实例中选择它,显然.... (3认同)
  • 哦,好的,非常感谢你,至少我知道我哪里出错了,谢谢你,你得到了很大的帮助,所以我应该把本地放到Visual studio中,我应该把它拿起来? (3认同)