我想用VS 2010构建一个asp.net网站,我有sql server 2008使用sa登录, 当我试图在登录控件的网站上注册时,我收到了这个错误:
* SQLExpress数据库文件自动创建错误:
连接字符串使用应用程序的App_Data目录中的数据库位置指定本地Sql Server Express实例。提供程序尝试自动创建应用程序服务数据库,因为提供程序确定数据库不存在。要成功检查应用程序服务数据库是否存在并自动创建应用程序服务数据库,必须满足以下配置要求:
1-如果应用程序在Windows 7或Windows Server 2008R2上运行,则需要执行特殊配置步骤才能自动创建提供程序数据库。有关更多信息,请访问:http://go.microsoft.com/fwlink/?LinkId=160102。如果应用程序的App_Data目录尚不存在,则Web服务器帐户必须具有对应用程序目录的读写权限。这是必要的,因为如果Web服务器帐户尚不存在,它将自动创建App_Data目录。
2-如果应用程序的App_Data目录已存在,则Web服务器帐户只需要对应用程序的App_Data目录进行读写访问。这是必要的,因为Web服务器帐户将尝试验证应用程序的App_Data目录中是否已存在Sql Server Express数据库。从Web服务器帐户撤消对App_Data目录的读取访问将阻止提供程序正确确定Sql Server Express数据库是否已存在。当提供程序尝试创建现有数据库的副本时,这将导致错误。需要写访问权限,因为在创建新数据库时会使用Web服务器帐户的凭据。
必须在计算机上安装3- Sql Server Express。
4- Web服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机和域帐户创建本地用户配置文件的详细信息,请参阅自述文档。*
我搜索解决并发现我必须运行sql server浏览器,我试图从sql server配置管理器启动sql server浏览器,但我不能:-( 是启动sql server浏览器解决?如果有,怎么样?或者还有其他解决办法,我该如何解决我的问题?我在这个网站上看到了另一个question,但它无法帮助我, 感谢
答案 0 :(得分:0)
首先停止使用SA帐户。这是关于那里最糟糕的安全措施。
在安装时手动创建数据库(或让客户这样做)。如果数据库不存在,请查看您是否有权创建数据库,以及是否运行CREATE DATABASE语句,然后在数据库中创建对象。这样,数据库就会在服务器所有者指定的正确文件夹中创建,这可能不是您要安装数据库的位置(它的服务器不是您的服务器,它可以在他们想要的地方)。
答案 1 :(得分:0)
之前我遇到了同样的错误,结果是因为我使用的是旧会员类
Membership.GetUser()
此行是导致错误的原因。当我删除它一切正常。