更新数据库期间,数据库“ master”中的CREATE DATABASE权限被拒绝

时间:2018-09-19 14:30:26

标签: sql-server asp.net-mvc entity-framework ef-migrations

我的数据库为空(无表),我想使用Update-Database从我的模型中创建所有表。因此,我添加了一个初始迁移,该迁移显示了必须添加到数据库中的所有表。

我的连接字符串是:Data Source=webhw27.htx-net.pl,51433;Initial Catalog=1832_testowa;Integrated Security=false;User ID=1832_admin;Password=******;Encrypt=True;TrustServerCertificate=True

在更新数据库期间,我得到

  

数据库'master'中的CREATE DATABASE权限被拒绝

为什么我要更新1832_testowa数据库时尝试创建数据库主数据库?我还向Database.SetInitializer<ApplicationDbContext>(null);添加了Global.asax到另一个主题-仍然相同。

在托管面板中,我将此数据库默认设置为用户1832_admin-仍然是同样的问题。

我还将此连接添加到了Visual Studio Server Explorer中,并且可以轻松地手动在此数据库中创建任何表。

问题出在哪里,为什么我现在不能使用Update-Database进行迁移(如果将来我必须添加一些东西,为什么以后不能迁移)?

1 个答案:

答案 0 :(得分:0)

尝试编写一个简单查询以在SQL Server中的数据库中创建一个表(如果需要,可稍后删除或删除表),如果执行成功,则需要检查是否正确提到了登录名,用户名和密码在Visual Studio的Web Config文件中。

示例:

<add name="DefaultConnection" connectionString="Data Source=DESKTOP-J87BQMD\SQLEXPRESS;Initial Catalog=cust1;User ID =xxxx;Password=xxxx" providerName="System.Data.SqlClient" />

在这里,还要检查名称“ DefaultConnection”是否与您在xyz.cs文件中提到的名称相同,您在其中提到了如下的sql连接,

        SqlConnection con = null;

        string result = "";

        try

        {
           con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString());
           //your further code
        }

如果您已正确完成所有操作,请尝试以下提到的过程,

在SQL Server中,转到安全-> 登录->选择并双击您的登录名(例如:sa)->

  1. 服务器角色 >>(确保已选择 public sysadmin
  2. 用户映射 >>(仅必须选中您的数据库,取消选中“ master”和其他数据库; 数据库角色成员身份 :( db_name)>>选择(勾选)db_owner和db_security管理员。
  3. 状态 >>授予权限,已启用登录

    我遇到了同样的错误,上面提到的步骤消除了该错误,希望这也能解决您的问题。

相关问题