2

我有一个ASP.net MVC应用程序连接到(localdb)\ v11.0 SQL Server数据库与连接字符串使用“集成安全性” - 工作正常。集成安全性= false时,在数据库'master'中拒绝CREATE DATABASE权限 - 为什么要尝试创建已存在的数据库?

现在我想连接到用户ID为& PW的同一分贝。

我创建了登录& user:user100,给了它db_owner权限。 我可以用SSMS打开带有ID/PW的数据库。

但是,当我改变我的连接字符串为“用户ID = user100 &密码= XXXX”,我得到的错误:

CREATE DATABASE permission denied in database 'master'.\r\nCannot attach the file 'C:\Projects\ExcellerWeb\ExcellerWeb\App_Data\ExcellerWebCopy.mdf' as database 'ExcellerWebCopy'.

为什么它试图创建一个已经存在的数据库?

和下面的代码返回TRUE:

System.Data.Entity.Database.Exists("UserConnection"); 

起初我还以为是EF迁移,但似乎没有上迁移一个简单的测试项目中发生。

这里是我的连接字符串:

<add name="UserConnection" 
    connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\ExcellerWeb.mdf;Initial Catalog=ExcellerWeb;Integrated Security=False;User ID=user200; Password=****" 
    providerName="System.Data.SqlClient" /> 

回答

2

从您的ConnectionString删除选项AttachDbFilename

<add name="UserConnection" 
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=ExcellerWeb;Integrated Security=False;User ID=user200; Password=****" 
providerName="System.Data.SqlClient" /> 

此选项用于在打开连接时附加文件。 欲了解更多详情,请看this或此MSDN-article

相关问题