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

标签 sql sql-server asp.net-mvc-3

这适用于带有 View 表的现有数据库。 尝试列出 View 表,但在我的操作中遇到此错误消息:

CREATE DATABASE permission denied in database 'master'.

要访问的 View 表称为:SomeTable

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

sp_helptext 'SomeTable'

你会得到这个:

 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; }    
}

类名:

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"/>

创建模型时发现错误:

SomeDB _db = new SomeDB();

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

当我更改连接字符串以指向定义表的位置时:ServerA_dev_alpha(数据库)它可以工作。

有什么想法吗?

最佳答案

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

Database.SetInitializer<SomeDB>(null);

第二;强制映射到表名就可以了:

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

关于sql - 数据库 'master' 中的 CREATE DATABASE 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109134/

相关文章:

C# SQL Server - 将列表传递给存储过程

c# - 具有默认值的 DateTime 的 Fluent NHibernate 映射

SQL 挑战/谜题 : Given a stack trace - How to find the top element at each point in time?

asp.net-mvc - 在 MVC4 中运行子域的最佳方法

sql - MS SQL 通过前 6 个字符连接表

mysql - 单个查询删除多条记录而不使用 InnoDB 关系(使用 JOIN?)

c# - NULLIF 的表达式方法(带 Divide)

asp.net-mvc-3 - Request.UserHostAddress 和Request.UserHostName 的值::1

asp.net - 具有 ASP.NET 成员身份的 Windows Azure 访问控制

sql - 本地主机窗口中的 Mongodb 错误