2009-06-25 24 views
5

現在、2台のサーバーが設定されています。 1つはWindows Server 08を実行しているWebサーバーで、もう1つはWindows Server 08でSQL Server 08を実行しているデータベースサーバーです。リモートデータベースサーバーの接続文字列

現在、接続文字列を使用してデータベースに読み書きできるようにサイトを設定しています私は、データベース名、サーバーIP、dbユーザーとdb pwdで作成しました。私が作成したdbユーザーは、データベース(db ownerではなく)に 'public'ロールの設定があり、execストアドプロシージャを実行するだけです。私の接続文字列は、現在、次のようになります。

<add name="SiteDBConn" connectionString="Server=IPOfServer;Database=DBname;User ID=userhere;Password=passhere;"/> 

を、これは私のために完璧に働いている間、私はセットアップに任意のユーザー名とパスワードが含まれていませんでしたデータベースの接続文字列をしたいと思います。 SQLサーバーがWebファイルと同じサーバー上にある私の他のサーバーの一部では、信頼できる接続を使用して、データベースに組み込まれた「ネットワークサービス」ユーザーを使用できます。 - 上記の接続文字列のような - 2を使用する際に

<add name="SiteDBConn" connectionString="Server=localhost;Database=DBname;Trusted_Connection=Yes;"/> 

は、ユーザー名とパスワードをハードコーディングすることなく、データベースへの接続を達成するための簡単な方法があります:これは私がそうのような無ユーザー名とパスワードを使用して接続文字列を実行することができます別のサーバーですか?私が作成したデータベースユーザーがexecの権限だけを持っている方法を見て、このルートを辿る時間を無駄にしていますか?

ありがとうございました。

答えて

5

あなたは時間を無駄にしていません。これは非常に良い習慣です。あなたが別々のマシンにIISとSQLを分離すると、ここでいくつかのオプションがあります

  • がIISボックスと(好ましくは同じパスワードを使用して)SQLサーバ
  • 使用の偽装の両方でasp.netユーザーを作成します(チェンジコンテキストは、あなたのサイトは に)下のレジストリ 設定ファイルを
  • 暗号化接続文字列を実行し、ドメインのユーザーにで
  • 使用IIS6であることを信頼関係接続(brrrr)
  • スイッチについてasp.netコンテキストを忘れますネイティブアプリケーションモード
+0

フィードバックをいただきありがとうございます。偽装に関しては、それを設定するための良いガイドやウォークスルーについて知っていますか?乾杯。 –

+0

実際には最後の質問を傷つけます。あなたの記事とこの質問の間に、私は必要な情報を持っています。ありがとう。 http://stackoverflow.com/questions/982216/database-connections-work-fine-when-application-is-run-from-localhost-login-fai –

1

2台のサーバーが同じWindowsドメインに属していない場合は、信頼済み接続を使用できません。

また、ログインはWindows認証として作成する必要があります。信頼できる接続でSQL認証ログインを使用することはできません。

それ以外の場合、Taporiはすべて言った。