Sql 在数据库中创建数据库的权限被拒绝';硕士';

Sql 在数据库中创建数据库的权限被拒绝';硕士';,sql,sql-server,asp.net-mvc-3,Sql,Sql Server,Asp.net Mvc 3,这适用于具有视图表的现有数据库。 试图列出视图表,但在我的操作中遇到以下错误消息: CREATE DATABASE permission denied in database 'master'. 要访问的视图表称为:SomeTable 如果您在数据库(ServerA_dev_alpha_custom)上运行此命令: 您将得到以下结果: CREATE VIEW dbo.[SomeTable] AS SELECT * FROM ServerA_dev_alpha.dbo.[SomeTable]

这适用于具有视图表的现有数据库。 试图列出视图表,但在我的操作中遇到以下错误消息:

CREATE DATABASE permission denied in database 'master'.
要访问的视图表称为:SomeTable

如果您在数据库(ServerA_dev_alpha_custom)上运行此命令:

您将得到以下结果:

 CREATE VIEW dbo.[SomeTable] AS  SELECT * FROM ServerA_dev_alpha.dbo.[SomeTable]
模型如下:

public class SomeTable
{
    [Key]
    public virtual string SomeTableid  { set; get; }
    public virtual string name  { set; get; }
    public virtual string formvalue  { set; get; }
    public virtual string status  { set; get; }
    public virtual DateTime CreateDate { set; get; }    
}
SomeDB _db = new SomeDB();

var model = (from c in _db.SomeTable
  orderby c.CreateDate descending
  select c).Take(20);
类名:

public class SomeDB: DbContext
与连接字符串名称完全匹配:

    <add name ="SomeDB"
         connectionString ="data source=ServerA\DBSome; integrated Security=SSPI; initial catalog=ServerA_dev_alpha_custom"
         providerName="System.Data.SqlClient"/>
当我将连接字符串更改为指向定义表的位置时:ServerA_dev_alpha(数据库),它可以工作


有什么想法吗?

即使现有数据库将初始值设定项设置为null也可以:

Database.SetInitializer<SomeDB>(null);
Database.SetInitializer(null);
第二;强制映射到表名实现了以下目的:

modelBuilder.Entity<SomeTable>()
.ToTable("SomeTable");
modelBuilder.Entity()
.ToTable(“SomeTable”);

我通过使用sql server授权帐户sa而不是windows授权帐户解决了此问题

您可以先通过windows授权登录SqlServer管理工具,然后在左侧部分窗口(称为“对象资源管理器”)->You Server\SQLEXPRESS(10.xxx)->Security->Logins来查找sa

双击sa,然后为其设置密码和默认数据库。默认数据库应该是您的数据库,而不是“主数据库”。然后,切换到“状态”页面,启用sa帐户

如果您的数据库尚未在下拉列表中列出,请在上面提到的左侧部分窗口中,右键单击并选择“附加”以附加它

并且,连接字符串应为:

connectionString=“Data Source=。\SQLEXPRESS;AttachDbFilename=| DataDirectory |\MFC.mdf;Initial Catalog=MFC;Integrated Security=false;User Id=sa;Password=此处的密码;”


这对我很有用。

@Jon Egerton;感谢您加入sql server标记。您是否检查了运行sql server的帐户的权限。它需要系统管理员角色。@benni_mac_b;谢谢我试试看。
modelBuilder.Entity<SomeTable>()
.ToTable("SomeTable");