2016-12-27 14 views
0

私はSQLデータベースをローカルに実行しています。 Visual Studioで 、サーバーエクスプローラ、私はこのデータベースに接続されていますので、私は、接続文字列の妥当性を確信している:asp.netアプリケーションからSQL Serverデータベースに接続

Data Source=MyMachineName;Initial catalog=MyDBName;Integrated Security=True 

しかし、私は私は自分のアプリケーションからのDBにアクセスしようとしているときブラウザで次の例外が発生します。

System.Data.SqlClient.SqlException : Authorization CREATE DATABASE denied in database 'master' 

詳細については、私のiisサーバーからアプリケーションを実行しています。デフォルトでお願い

+2

[CREATE DATABASE権限がデータベース 'マスター'(EFコードファースト)で拒否されました](http://stackoverflow.com/質問/ 11231934/create-database-permission-denied-in-database-master-ef-code-first) – Daniel

答えて

0

あなたのIISサイトを事前に

おかげで、あなたのシステムへのアクセス権を持たない、ApplicationPoolIdentityのユーザーで実行されています。 IISマネージャーからそのユーザーをユーザーに変更することができます。最初に "アプリケーションプール"がアプリケーションを実行していることを確認し、 "アプリケーションプール"でそのアプリケーションプールに移動し、右クリックして "詳細設定"を選択し、 "プロセスモデル"で "ID"レコードを見つけます。 enter image description here

P.S.サイトのアプリケーションプールを変更していない場合は、 "DefaultAppPool"を編集してください。

+0

しかし、どうしたらいいですか?カスタムアカウントを定義しようとすると、ユーザー名とパスワードが表示されます。どうすれば以前の接続文字列と関連付けることができますか – user2443476

+0

"統合セキュリティ"は、entityframeworkデータアダプタが現在のWindowsユーザーアカウントでデータベースに接続しようとし、データベースサーバーがこのアカウントに設定されているデータベースに権利を与えることを意味します。 要約すると、IISサイトがいくつかのアカウントで実行される場合、そのアカウントはデータベースとの接続に使用されます。 –

+0

他のユーザーを使用する場合は、「統合セキュリティ」設定を削除し、カスタムユーザー名とパスワードを追加できます。 'Data Source = MyMachineName;初期カタログ= MyDBName;統合セキュリティ= False、ユーザーID = 、Password = ' –

関連する問題