Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 使用网络服务帐户附加到sql server express db文件时出现问题_.net_Asp.net_Linq To Sql_Visual Studio 2010_Sql Server Express - Fatal编程技术网

.net 使用网络服务帐户附加到sql server express db文件时出现问题

.net 使用网络服务帐户附加到sql server express db文件时出现问题,.net,asp.net,linq-to-sql,visual-studio-2010,sql-server-express,.net,Asp.net,Linq To Sql,Visual Studio 2010,Sql Server Express,我正在使用VS2010 Beta 2创建一个IIS托管的WCF服务。我添加了一个SQLServer数据库文件用作简单的数据存储,然后生成了一些LINQtoSQL类与之交互 我遇到的问题发生在LINQtoSQL尝试连接到数据库时。我得到以下错误信息: 在数据库“master”中创建数据库的权限被拒绝。 尝试为文件c:\Source\SampleApp\App\u Data\GameData.mdf附加自动命名数据库失败。存在同名数据库,或无法打开指定的文件,或该文件位于UNC共享上 为了解决以前的

我正在使用VS2010 Beta 2创建一个IIS托管的WCF服务。我添加了一个SQLServer数据库文件用作简单的数据存储,然后生成了一些LINQtoSQL类与之交互

我遇到的问题发生在LINQtoSQL尝试连接到数据库时。我得到以下错误信息:

在数据库“master”中创建数据库的权限被拒绝。 尝试为文件c:\Source\SampleApp\App\u Data\GameData.mdf附加自动命名数据库失败。存在同名数据库,或无法打开指定的文件,或该文件位于UNC共享上

为了解决以前的问题,我已经将web.config更改为不使用用户实例:

<add name="GameDataConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\GameData.mdf;Integrated Security=True;User Instance=False"
  providerName="System.Data.SqlClient" />

我的第一反应是,应用程序池的用户帐户(网络服务)无法打开该文件,因此我已授予对数据库文件和日志文件的完全控制权,但这没有帮助


有趣的是,如果我将应用程序池更改为在本地系统下运行,那么一切都正常工作。我还需要授予网络服务访问权限吗?

Yopu必须使用Sql Management Studio Express并添加网络服务帐户作为登录名。然后在指定的数据库上为它分配DBO权限,或者只给它sysadmin角色。注意:在安装SQL Server 2005任何版本时,您都可以使用初始选项设置服务的登录帐户。如果您指定网络服务。默认情况下,网络服务帐户将被授予sysadmin角色

希望这对您有所帮助

如果您没有使用
,您的应用程序池用户没有足够的权限访问您的数据库


您还可以创建数据库用户(SQL身份验证)并将其凭据(用户名/密码)修复到连接字符串中。这是我通常做的。

最终获得了一个正确的游戏,启动了SQL Management Studio,但当我这样做时,给网络服务一个登录服务器的权限和对该数据库/文件的权限是非常直接的。谢谢你的帮助,这真是一件好事。虽然我认为这可能会奏效,但我还是想坚持使用网络服务,而不是模拟运行。谢谢