EF Code First CREATE DATABASE 权限在数据库中被拒绝 'master'

EF Code First CREATE DATABASE permission denied in database 'master'

我使用代码优先来创建和更新数据库。我在包管理器中的更新数据库命令一直工作到昨天。但是今天它不工作并且有这个错误: 数据库 'master' 中的 CREATE DATABASE 权限被拒绝。 我没有对连接字符串和其他配置进行任何更改。 所以我尝试将数据库更新到我的系统和我的 windows 上的另一个项目,我可以毫无问题地重新创建和更新这个数据库。 你能帮我解决这个错误吗?

这是我有问题的项目的连接字符串:

<add name="Default" connectionString="Server=.\sqlexpress; Database=test1; User Id=sa; Password=123456" providerName="System.Data.SqlClient" />

这是我没有问题的项目的连接字符串:

<add name="Default" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=test2;user id=sa;password=123456" providerName="System.Data.SqlClient" />

创建数据库:

打开 Security 文件夹,然后打开 Logins 文件夹和 select 您要在其下创建数据库的用户帐户。 打开帐户的属性,select 服务器角色选项卡,然后 select dbcreator 复选框(系统管理员工作得更好)。 您也可以尝试在以标准管理员帐户 sa.

登录时创建数据库

要在数据库服务器上创建数据库,您必须有权限。因此,您使用的用户名必须具有在服务器上创建数据库的权限。您的数据库管理员 (DBA) 将授予您这样做的权限。

在开发环境中,您可以使用sa帐号,该帐号拥有在服务器上进行任何操作的所有权限。更好的是,如果您使用 localdb 进行开发,因为它重量轻且对开发人员友好。

因此,基本上您需要获得在您的服务器中创建数据库的权限。希望这对您有所帮助。

您可以使用 SA 或者您可以将它(您的帐户)添加到 dbcreatorsysadmin 角色。

sp_dropsrvrolemember 'Youraccount','sysadmin'

sp_dropsrvrolemember 'youraccoount','dbcreator'

我找到了我的解决方案。

我在解决方案中有 4 个项目。但是当我尝试更新数据库时,Web 项目没有设置为启动项目。所以我将这个项目设置为启动项目,我可以更新数据库。