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

时间:2012-05-07 12:30:01

标签: sql-server database visual-studio visual-studio-2010 sql-server-2008

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

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

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

出现添加连接对话框。

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

在底部的Connect to部分,下拉列表显示:Master, Model, msdbtempdb,但不显示我的emailDatabase

所以我选择Attach Database File并点击浏览并按照

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

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

发生以下错误:

  

emailDatabase
  您无权打开此文件。
  联系文件所有者或管理员以获得许可。

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

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

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

6 个答案:

答案 0 :(得分:16)

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

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

通过这种方式,您可以按照SQL Server实例本身的方式连接和使用SQL Server数据库。这比使用“自由浮动”.mdf文件并将它们附加到您的解决方案和类似内容更容易,也更不麻烦....

enter image description here

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

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

答案 1 :(得分:0)

我以为我已经弄明白但是问题仍然存在。所以...

这条线以下的一切都是如此。

经过数小时的修补后,我终于找到了如何使用SSMS连接到VS2010中创建的SQLServer 2008数据库,而且相对简单。但是,从未解决的问题数量到目前为止还没有很好的记录。这是如何做到的:

  1. 在VS中右键单击SolutionExplorer中的项目并选择Add new item,然后选择Data,然后选择SQLServer数据库。它将提示您将其保存在app_data文件夹中,如果它不存在,则为您创建该文件夹。

  2. 找到Ssms.exe文件(在我的系统上,它位于C:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \ VSShell \ Common7 \ IDE

  3. 右键单击Ssms.exe并选择以管理员身份运行。

  4. SSMS打开后,您可以附加项目MDF。它现在将出现在您的数据库列表中。数据库名称是GUID。

  5. 您甚至可以对数据库运行aspnet_regsql以添加Membership表和sprocs。

  6. 重要!您可以使用 EITHER SMSS OR VS管理此数据库,但不能同时管理这两个数据库。如果您使用ServerExplorer从VS中弄乱数据库,您将破坏SSMS连接。要解决此问题,您需要分离并重新附加数据库。

答案 2 :(得分:0)

有同样的问题,我意识到问题不在VS2010中,而是我的SQLserver。
我的实例名称是 OMAFANO ,这就是我的MSSQL连接到服务器名称下的内容。现在这里是捕获,单击它并连接到 OMAFANO \ SQLEXPRESS 并在那里创建所有数据库和表,如果您希望它们按照您在那里说明的方式显示在VS2010中。因此,如果要查看新创建的数据库,请在VS2010中的服务器名称下写 INSTANCENAME \ SQLEXPRESS 。看看图片:
enter image description here

答案 3 :(得分:0)

以管理员身份运行Visual Studio 转到Visual Studio实例,即C#,C ++等 右键单击>以管理员身份运行

然后现在它可以工作

答案 4 :(得分:0)

要从visual studio 2013连接到ssms2014数据库,在新的连接向导中我必须更改数据源'来自' ms sql server数据库文件'到sql server的' .net框架数据提供程序。'。然后我可以输入[计算机名称] [用户名]进行Windows身份验证。

答案 5 :(得分:0)

我遇到了同样的问题,您只需输入本地服务器名称“ sara-PC ”而不是 “ sara-PC \ SQLEXPRESS

现在,您可以轻松访问数据库,您可以在下拉列表中看到它。 并且也请不要使用文件访问方法来访问数据库,那不是好方法。 也可以通过使用服务器->右键单击->属性->数据库设置来设置默认位置,将〜.... \ Data和〜... \ log文件放置在所需的任何位置。

绝对可以解决您的问题。