c# - 数据库 'master' 中的 CREATE DATABASE 权限被拒绝。存在同名数据库

标签 c# asp.net sql-server-2008-express aspnetdb

我在 Visual Studio 2010 应用程序服务器中运行我的应用程序,但现在我将其更改为使用 IIS 本地服务器,然后一切都崩溃了。我收到以下错误:

System.Data.SqlClient.SqlException: CREATE DATABASE permission denied in database 'master'.
An attempt to attach an auto-named database for file D:\Code\EMSApplication\EMSApplication.Web\App_Data\ASPNETDB.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

我已将 IIS 默认网站的应用程序池设置更改为经典 .NET AppPool。

enter image description here

还将 Classic .NET AppPool 的标识更改为 LocalSystem。

enter image description here

我也把NETWORK SERVICE的权限设置为Full

enter image description here

连接字符串是:

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.mdf;Integrated Security=True

但他们都没有工作。我仍然收到该错误。任何建议都会对我很有帮助。

谢谢。


我正在使用安装 Visual Studio 2010 时附带的 SQL Server 2008 Express。

最佳答案

问题很明显,您已经有一个名为 ASPNETDB 的数据库附加到该 SQL Server 实例。我的假设是 VS 开发 Web 服务器仍在运行,这就是附加数据库的原因。如果是这样,只需将其关闭并尝试重新启动 IIS,就可以了。如果不行,去download SSMS Express ,连接到您的本地 SQLExpress 实例,并尝试从那里分离现有数据库。

关于c# - 数据库 'master' 中的 CREATE DATABASE 权限被拒绝。存在同名数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9808731/

相关文章:

c# - 在 ASP.NET Core 中发布复杂类型

c# - 将 Closure Compiler 包含到 ASP.NET 应用程序中

c# - 在 asp.net gridview 中禁用文本换行

sql - 在SQL Server 2008数据库上安排日常任务

asp.net-mvc - MVC3中如何将Excel中的数据导入SQL Server Express 2008

sql-server - 如何在 SQL Server Express 版本中创建作业

c# - 将十六进制数转换为有符号短值

c# - Sqlcmd : Error: Microsoft ODBC Driver 17 for SQL Server : Login failed for user 'SA'

c# - QLPreviewController 和 UIWebView 不显示填充的 PDF

c# - 构造按钮单击方法以避免代码重复