人気ブログランキング | 話題のタグを見る
ユーザー 'NT AUTHORITY\NETWORK SERVICE' はログインできませんでした
昨日の納品で問題になった点がわかりました。
実際のエラー内容は、こんな感じ
'/teaching' アプリケーションでサーバー エラーが発生しました。

ユーザー 'NT AUTHORITY\NETWORK SERVICE' はログインできませんでした。

説明 : 現在の
Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。

例外の詳細: System.Data.SqlClient.SqlException: ユーザー 'NT
AUTHORITY\NETWORK SERVICE' はログインできませんでした。

ソース エラー:

....

スタック トレース:
....


バージョン情報 : Microsoft .NET Framework バージョン :1.1.4322.2032; ASP.NET
Version:1.1.4322.2032


現場では、かなり困ってしまってにっちもさっちもいかなかったのですが、Googleで検索してみたら、あっさりと出てきました。
で、見つかったページをこんな順番でたどっていくと、、、

GotDotNet Japan 掲示板

つるたく日記 - どっとねっと奮闘記

Visual Studio.NET 2003 ガイドツアー&評価ガイド

結局、コマンドラインから、次のようなコマンドを打ち込んで、 'NT AUTHORITY\NETWORK SERVICE' という特別なユーザにDBへのアクセス権を与える必要があるということでした。
PATH=%PATH%;C:\Program Files\Microsoft SQL Server\80\Tools\Binn
osql -E -Q "sp_grantlogin 'NT AUTHORITY\NETWORK SERVICE'"
osql -E -d DB名 -Q "sp_grantdbaccess 'NT AUTHORITY\NETWORK SERVICE'"
osql -E -d DB名 -Q "sp_addrolemember 'db_owner','NT AUTHORITY\NETWORK SERVICE'"
pause

開発用PCにインストールしてあるVirtualPCに Windows Server 2003 をインストールして、問題を確認し、このコマンドで問題が解決できることを確認しました。
このままバッチファイルにコピーして、DB名を目的のデータベースの名前に変更して実行するだけで、問題は解決します。

そういえば、Windows2000サーバーからWindowsサーバー2003への移行の時もかなり苦労したな~~~。
Windowsサーバー2003って、セキュリティが強化されていてすごいですね~

マイクロソフトのバカ~~!! ふぅ~、すっきり。
(↑八つ当たり)
(↑あながち八つ当たりでもないかも ^^;)

ああ、もう少し時間があったらその場で解決できたのに、、、
ああ、もう少し余裕があったなら、社内で実機に近い環境でテストできたのに、、、
そしたら絶対に問題にならなかったはずなのに、、、
反省です。
ソニーストア

by isoq | 2005-01-27 19:35 | Web
<< Webページの form を ... 失敗は成功の素 >>