2009-05-04 4 views
1

開発マシンで実行されているSQL Sever express 2005データベースインスタンスを使用して、ASP.NET MVCアプリケーションを起動して実行しています。しかし、アプリケーションが本番環境にデプロイされると、IISインスタンスとSQL Serverインスタンスは異なる論理マシンに置かれます。私は彼らが別の物理的なボックスであるかどうかは分かりませんが、私はそのことを疑う。ASP.NET MVCを使用してリモートデータベースにリンクする方法を教えてください。

現在、実動DBサーバーが配置されています。私はそのインスタンスへの読み取りアクセス権を持っているので、私は自分の開発マシン上でプロジェクトを指し示して、リモートDB接続が引き続き機能することを確認したいと思います。スキーマは同じですが、明らかに場所と内容が異なるだけです。

現在、私の開発マシンにある.mdfファイルにプロジェクトがリンクされています。それをリモートサーバー上のDBインスタンスに切り替えるために必要な変更は何ですか?

答えて

4

簡単な答え:web.config内のデータレイヤー(LinqからSQL?)の接続文字列をアウトオブプロセスデータベースインスタンスに変更してください。

より詳しくは、自分の開発ボックスで自分のサイトからデータベースを分割する手順を以下に示します。次の手順を実行することで、2台のサーバー構成を本番環境にデプロイする前に、ローカルでテストすることができます。

  1. Install SQL Server Management Studio
  2. オープンManagement StudioをローカルのSQL ServerのExpressのinstenceに接続する(typicaly [boxname]/SQLEXPRESS)
  3. 管理サーバーでデータベース]フォルダを右クリックして[接続]を選択...
  4. プロジェクトで.mdfファイルを探して開きます。
  5. 新しく接続されたデータベースの名前を、呼び出す名前に変更します。
  6. IISアプリケーションプールがデータベースに対するアクセス許可で実行されているサービスアカウントを指定します。まず、最上位のセキュリティ/ログインフォルダの下にアカウントを作成し、そのアカウントを新しいデータベースのSecurity/Usersフォルダに追加します。私の設定では、NETWORK SERVICEを使用しています。

データベースがSQL Server Expressにスタンドアロンデータベースとしてマウントされたので、normal SQL Server connection stringを使用してデータベースに接続できます。

この時点で、開発環境はデータベースとIISプロセスが分割されている運用環境をシミュレートしています。プロダクションデータベースを指すように、プロダクションの接続文字列を変更するだけで済みます。

+0

はい、あなたはトリックをしました。私はまだこの.NET環境全体に夢中になっており、これは初心者レベルの質問であることを完全に見ています。とにかく答えをありがとう:) –

+0

私は助けることができてうれしいです。 –

関連する問題