![SQL Server 2008 Express 的权限问题](https://linux22.com/image/522976/SQL%20Server%202008%20Express%20%E7%9A%84%E6%9D%83%E9%99%90%E9%97%AE%E9%A2%98.png)
我认为这属于“永远不要要求开发人员做服务器管理员的工作”的范畴。
我是一名开发人员,正在编写几个 ASP.NET MVC 2 网站。我尝试使用 ASP.NET 配置工具来创建一些用户角色,但它一直给我一个错误,指出它找不到我的数据存储,并且 AspNetSqlProvider 无法连接到数据库。我有运行 aspnet_regsql,但这只创建了用户管理所需的表。它对我的连接问题没有任何帮助。据我所知,我的连接字符串没有问题。
作为测试,我在调试器中启动了一些 MVC 教程应用程序。它们都显示并保存了我输入的数据,因此看起来数据库在某种程度上正常工作。
随后,我决定测试是否可以通过 Management Studio 将一些 .mdf 文件附加到数据库。我尝试了一个“空”文件(文件夹结构完整,但没有表)和一个我为我的一个项目充实的文件。在这两种情况下,Management Studio 都声称找不到文件,尽管这两个文件都是现有的,而且我手动输入了它们的路径。
所有这些似乎都指向权限问题。我只是不确定问题出在哪一边 - 数据库还是文件 - 或者如何修复它。任何帮助都将不胜感激。
注意:所有这一切都发生在我的 Win 7 笔记本电脑上,装有 Visual Studio 2010 Professional。
答案1
当您说“将一些 .mdf 文件附加到数据库”时,我假设您指的是 SQL 实例。您实际上并没有将 .mdf 文件附加到现有数据库。
需要检查以下几件事:
- .mdf 文件是用哪个版本的 SQL 创建的?如果是 2008 R2,那么您将无法将它们附加到直接 2008 实例,因为它们不向后兼容。
- 当您尝试附加 .mdf 文件时,您是否还会带上日志文件?根据创建数据库的恢复模型,您也需要这些文件。默认情况下,SQL 将创建一个数据库并将其设置为完整恢复模型,在这种情况下,它需要日志文件才能使数据库恢复到其当前状态。