C#asp.net うまくいかないユーザーのデフォルトのデータベースです。ldfに誤りがある可能性があり

StackOverflow https://stackoverflow.com/questions/476797

  •  20-08-2019
  •  | 
  •  

質問

私有数の問題を自分のSQLサーバーエ2005年DBです。では、2003年にサーバーです。とVS2005にアクセスできまdbになりますでしょうか。がどのようにアプリケーションの実行を取得します:

 Cannot open user default database. Login failed.  Login failed for user 'NT AUTHORITY\NETWORK SERVICE'......... .ldf may be incorrect.

していることを保証ネットワークサービスにはフルウェブサイトへのアクセスはフォルダすべてのサブフォルダの中に別のフォルダを作

シュマンセミナーなど(I)を見るときの特性App_Dataでグレーの目盛の読みます。きます。MDFファイルは読み取りのみでも解除はできませんこのグレーティック.また、をクリックしまい、変更されていたATTRIB . -rも変化してきているようです。

私はとても混乱するからです。

Jon

役に立ちましたか?

解決

違いはフォルダーのACLに関係するのではなく、セキュリティコンテキストがDBのユーザーにマップされるという事実に関係します。 DBには、おそらくdboへのユーザーアカウントのマッピングがあります。

ネットワークサービスアカウントがDBを使用する場合は、dbにユーザーを作成してマシンアカウントにマッピングする必要があります。

他のヒント

実際にSQL Server Expressのインスタンスを使用していますか、それともApp_Dataフォルダー内のデータベースファイルを使用していますか?

SQL Serverのインスタンスを使用しており、 SQL Server Management Studio Express がインストールされている場合、次のような操作を行って<!> quot; Network Service <!> quot;データベースへのアカウントアクセス(それについて考えると、Management StudioをApp_Dataフォルダーのmdfに向け、同じことを行うことができるはずです):

  1. SQL Management Studioを開き、データベースに接続して、オブジェクトエクスプローラーで開きます。
  2. サーバーレベル(MachineName \ SQL Express)で、<!> quot; Security <!> quot;を展開します。セクション-ユーザーが<!> quot; Logins <!> quot;にないことを確認します。その下のセクション。
  3. そうでない場合は、<!> quot; Logins <!> quot;、<!> quot; New Login ... <!> quot;
  4. を右クリックします。
  5. ログインタイプが<!> quot; Windows認証<!> quot;に設定されていることを確認してから、次のいずれかを実行できます。
    1. ヒット<!> quot;検索... <!> quot ;、次に<!> quot;詳細... <!> quot; <!> quot;今すぐ検索<!> quot;、<!> quot; NTサービス<!> quot;、<!> quot; Ok <!> quot;をダブルクリックします。次のダイアログ。
    2. 「<!> quot; NT Authority \ Network Service <!> quot;」と入力します。 <!> quot;ログイン名:<!> quot;ボックス。
  6. 次に、<!> quot; User Mapping <!> quot;ページ(左側のペインから選択)で、このユーザーにアクセスさせたいデータベースの横にTickを置きます。
  7. データベースロールがある場合(たとえば、このデータベースにデフォルトのASP.NETメンバーシップ/ロール/プロファイルテーブルなどがインストールされている場合)、ユーザーに正しいロールを付与してください-<!> quot; aspnet_Membership_BasicAccess <! > quot;。

お役に立てば幸いです。

だがこの問題です。を利用していたデータベースファイルのApp_Dataフォルダにまとめた。

"そうでしたDBにも店内にIDE(視覚でウェブ-デベロッパーエクスプレス)、データベースに以下のように変更しました。右クリックすることで、データベース"を選択接固定します。"

asp.net フォーラム)

英語以外のオペレーティングシステムを実行していると思います。

何らかの理由で、OSが他の言語に翻訳されると、ネットワークサービスのログイン名がローカライズされることがあります。

多くのプログラムでは、ログイン名が<!> quot; NT AUTHORITY \ NETWORK SERVICE <!> quot;にハードコードされていることを期待しています。 -たとえば、ドイツ語版のWindowsでは、アカウントの名前は<!> quot; NT-AUTORIT <!>#196; T \ NETZWERKDIENST <!> quot;です。そのため、プログラムは英語名を探していますが、それを見つけることができず、エラーを表示します。

一部のMicrosoftプログラムでもこのトラップに遭遇し、インストール時にこのようなエラーが表示されます!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top