sql-server – asp mvc 3 noobie:数据库’master’中的CREATE DATABASE权限被拒绝

我是一个asp mvc 3 noobie.我已经完成了一些tutorials,现在我已经准备好继续学习,试图建立一个网站.

在所有教程中,您将连接到SQL CE或SQL Express DB.但我希望我的网站在sql server上构建一个数据库.

我在我的网络服务器上创建了一个数据库,我称之为MyDB.然后我在我的web配置文件中设置我的连接字符串,如下所示:

add name="ApplicationServices"
    connectionString="Data Source=Server\ServerInstance;Initial Catalog=MyDB;Integrated Security=True"
    providerName="System.Data.SqlClient"

我创建了模型和脚手架控制器.

我创建了一个简单的DataBaseContext,如下所示:

Imports System.Data.Entity

Public Class DatabaseContext
    Inherits DbContext

    Public Property Employee As DbSet(Of Employee)
    Public Property AnnualLeave As DbSet(Of AnnualLeave)

End Class

但是当我在脚手架控制器中点击以下行时,我收到错误:

 Function Index() As ViewResult
    Return View(db.Employee.ToList()) //CREATE DATABASE permission denied in database 'master'`.
 End Function

>我应该通过更改MyDB数据库的权限来解决这个问题吗?这是SQL服务器端的权限问题吗?我很困惑,为什么我得到一个Create database错误,因为DB已经存在.
>我是否收到此错误b / c我已经创建了数据库?脚手架是否想以某种方式创建数据库?

最佳答案
听起来它正试图通过错误消息创建一个新的数据库.我猜你首先在你的项目中使用EF代码并使用它的迁移功能来构建你的数据库.检查EF上下文的设置以确保它使用您的连接字符串.

连接字符串或其名称可以传递给DbContext的构造函数.如果使用默认构造函数,它将搜索与派生上下文类的名称相同的连接字符串.基本上,确保您的连接字符串与派生的dbcontext类具有相同的名称,并且应该找到它.

See this post for additional information

转载注明原文:sql-server – asp mvc 3 noobie:数据库’master’中的CREATE DATABASE权限被拒绝 - 代码日志