无法在 SQL Express 中附加深度超过两个目录的数据库?

无法在 SQL Express 中附加深度超过两个目录的数据库?

我的一个 Visual Studio Express 项目中有一个数据库。我想将其附加到我的本地 SQLEXPRESS 实例,以便我可以在其上运行 aspnet_regsql 并添加成员资格数据库。当我选择附加数据库,然后尝试浏览文件 (C:\Users\username\Documents\Visual Studio 2010\Projects\nameofproject) 时,它只允许我导航到 C:\Users\username...为什么?我该如何解决这个问题?

答案1

这是因为 SSMS 不是获取文件夹列表的应用程序。SSMS 要求数据库执行此操作,因为 SSMS 不知道数据库是本地的还是远程的,因此它总是让 SQL Server 执行此工作。SQL Server 可能未在您的用户帐户下运行,因此它无权访问您的主目录。

如果您授予 SQL Server 实例正在使用的用户帐户读取权限,您将能够浏览该目录。

答案2

我搞定了。尽管我已经关闭了计算机上的 UAC 并以管理员身份运行 MSSMS 应用程序,但我仍然无法导航到我的文档文件夹 - 它显然使用非特权用户浏览文件夹。我最终授予用户列出文件夹内容权限,包括我的用户名、我的文档、Visual Studio 2010 等,然后授予实际项目的完全权限...这样就成功了。

答案3

不需要让所有用户访问您的个人文件/文件夹,只需将 SQLExpress Windows 服务更改为以您的凭据而不是默认的网络服务 ID 启动。

相关内容