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


2

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


你成功了吗?我不知道如何做@mrdenny解释的事情
伊兰otzer 2011年

Answers:


5

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

如果您对SQL Server实例正在使用的用户帐户授予读取权限,则可以浏览该目录。


在执行某些Google搜索后,您如何授予对您的用户帐户的读取权限。
eran otzer 2011年

最简单的方法是在工作站上的管理员下创建工作站上的SQL Server所运行的帐户。如果没有导航到c:\ users \ username并右键单击用户名并选择属性。然后添加运行SQL Server的帐户,并完全控制该文件夹。那或将数据库移动到不受保护的位置。
mrdenny

2

我想到了。尽管我已经在我的机器上关闭了UAC并以管理员身份运行MSSMS应用程序,但仍无法导航到我的文档文件夹 - 它显然是使用非特权用户来浏览文件夹。我最终将用户列表文件夹内容权限授予我的用户名,我的文档,visual studio 2010等,然后对实际项目的完全权限......这很有效。


如果您的网站存在安全漏洞,asp.net始终使用“非特权用户”。您也不应该指向您的站点以寻找像“C:\ ...”这样的数据库。请改用您网站中的App_Data文件夹。
Joel Coehoorn 2010年

1

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


如果用户更改密码,这通常不是最好的主意,他也必须更改SQL服务器的启动帐户。
mrdenny
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.