4

MVC 4 アプリケーションをデプロイした後、ユーザーを登録しようとすると、次のようなエラーが発生します。

データベース 'master' で CREATE DATABASE 権限が拒否されました。

接続文字列は次のとおりです。

<add name="Market" providerName="System.Data.SqlClient" connectionString="Data Source=endine.arvixe.com; Initial Catalog=Market; Uid=mylogin; Password=mypass; MultipleActiveResultSets=true; " />

そしてDbContext:

public class Market: DbContext
    {
        public Market()
        {
            Database.SetInitializer<Market>(new MarketInitializer());
        }
    }


public class MarketInitializer: DropCreateDatabaseIfModelChanges<Market>
    {
        protected override void Seed(Market context)
        {
            base.Seed(context);
        }
    }

同じSQL Management Studioでデータベースにアクセスし、スクリプトでデータベースをmylogin作成mypassしました。Marketしかし、サイトでは、データベースにアクセスできません。

どうすればその理由を見つけることができますか?

4

2 に答える 2

1

問題はこのコードですDropCreateDatabaseIfModelChanges<Market>

public class MarketInitializer: DropCreateDatabaseIfModelChanges<Market>
    {
        protected override void Seed(Market context)
        {
            base.Seed(context);
        }
    }

モデルはある時点で変更されたため、データベースを削除して再作成しようとしています

于 2013-08-14T12:12:00.367 に答える
1

ローカル SQL Server インスタンスで sysadmin ロールを持っていないために発生することがあります。スクリプト コマンドをダウンロードしてインストールできる便利な記事を見つけました。SQLEXPRESS 名またはインスタンス名を尋ねられるので、「SQLEXPRESS」と入力してください。それでおしまい。ローカル サーバー インスタンスの sysadmin ロールに追加されます。

コマンドのダウンロード: http://archive.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=addselftosqlsysadmin&DownloadId=9198

うまくいかない場合はお知らせください。

于 2013-10-24T11:38:00.570 に答える