我有一个托管在共享托管上的网站,并且在尝试运行“更新 - 数据库”时我收到这个错误:
此操作需要连接到' master'数据库。无法 建立与主人的联系'数据库因为原来的 数据库连接已打开,凭据已被删除 来自连接字符串。提供未打开的连接。
显然,提供商不会给我一个主人的访问权限。我运气不好吗?
答案 0 :(得分:1)
update-database
确实需要访问“主”数据库才能添加新数据库。实体框架假定数据库默认不存在,并将运行Create Database
。如果您的主机提供商仅允许您在共享服务器上访问共享实例而不是您自己的实例,那么您可能无法在没有他们帮助的情况下创建新数据库。
如果您使用命令Update-Database -Script -SourceMigration: $InitialDatabase
,它将生成一个.sql
脚本,该脚本可以由您的托管服务提供商或他们为您提供的任何门户网站对数据库运行。