0

このチュートリアルを完了しました: https://www.windowsazure.com/en-us/develop/net/tutorials/web-site-with-sql-database/?redirectToLocale=false

Azure オンライン アカウントで発行すると機能し、データベースは正常に動作しています。しかし、問題は、チュートリアルに従ったときに、これを行うように求められることです: 1. enable-migrations 2. add-migrations 3. update-database

  1. 2. 動作しますが、パッケージ マネージャー コンソールで 3. (update-database) を実行すると、次のエラーが発生します。

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

そのため、Web サイトをローカルにデプロイできません。これが私の問題です... Ctrl+F5 を実行すると、Web サイトが開きます

> http://localhost:2700/

そして、それはこのエラーを示しています:

> Server Error in '/' Application.
> 
> CREATE DATABASE permission denied in database 'master'.
> 
> Description: An unhandled exception occurred during the execution of
> the current web request. Check the stack trace for more information
> about the error and where it originated in the code.
> 
> Exception Details: System.Data.SqlClient.SqlException: CREATE DATABASE
> Permission denied in database 'master'.
> 
> Source Error:
> 
> 
> Line 20: public ActionResult Index ()
> Line 21: { 
> Line 22:   return View(db.ToDoItems.ToList ()); 
> Line 23: } 
> 
> Source File: c: \ Users \ baudouin \ Documents \ Visual Studio 2012 \
> Projects \ ToDoListApp \ ToDoListApp \ Controllers \ HomeController.cs
> Line: 22

SQL Server Management Studio を開くと、マスター データベースにアクセスできます... Visual Studio 2012 RC を使用しているときに、データ接続の DefaultConnection(ToDoApp) にエラーがあると表示されます。

> Server Explorer can not execute this operation.
>     For more information, see details below:
>     Cannot attach the file 'C:\Users\baudouin\documents\visual studio 2012\Projects\ToDoListApp\ToDoListApp\App_Data\aspnet-ToDoListApp-20120625114938.mdf'
> as database 'aspnet-ToDoListApp-20120625114938'.

チュートリアルでは、その .mdf に対応するものがわかりません...そして、update-database がまったく機能しない理由がわかりません。

手伝ってくれませんか ?

ありがとうございました !!【パリから来たフランス人留学生】

4

2 に答える 2

0

接続文字列は何ですか? コードのテスト中にローカルの SQLExpress DB に接続しようとしているようですか?

Visual Studio からコードを実行している場合、VS とデータベースの両方が 2 つの異なるアカウントで実行されている可能性があります。たとえば、Windows Azure コンピューティング エミュレーターは "ネットワーク サービス" アカウント資格情報で実行されるため、マスター データベースに同じ "ネットワーク サービス" 資格情報を追加すると問題が解決します。

したがって、NT AUTHORITY\NETWORK SERVICE の SQLExpress インスタンスにログインを追加し、sysadmin ロールを付与して、問題が解決するかどうかを確認してください。

sys admin role grant db_owner role を NT AUTHORITY\NETWORK SERVICE に付与しても、Master DB に対してのみです。これには、システムを再起動することをお勧めします。

于 2012-06-26T18:00:54.213 に答える
-1

Avkash が指摘したように、この問題は、ローカル データベースに接続しようとしていることに関連しています。これはローカルでは機能する可能性がありますが、Windows Azure では機能しません。Azure SQL データベースを使用してください。接続文字列のデータ ソースは、ローカルの mdf ファイルではなく、tcp:… を指す必要があります。実はご指摘のチュートリアルでは既に Azure SQL データベースを使っているので、詳しくはそちらを参照してください。

于 2012-07-03T10:09:35.023 に答える