1

Visual Studio 2012 で新しい ASP.Net MVC 4 プロジェクトを作成すると、プロジェクト ディレクトリの mdf ファイルにデータが配置されます。

この時点でやりたいことは、ASP.Net MVC 4 プロジェクト テンプレートによって提供されるすべての足場を維持しながら、データベースを SQL Server インスタンスに穏やかに移行することです (ユーザー アカウント管理などを意味します)。

これを行うための正しい段階的な方法は何でしょうか?

接続文字列をどのように正確に変更すればよいですか?

本番環境の SQL Server でアプリケーションを認証するにはどうすればよいですか?

ばかげた質問で申し訳ありませんが、以前は ASP.Net アプリケーションを扱ったことがありませんでした。以前の経験 (WinForms を使用) では、実際のすべてのユーザーが個別の SQL Server アカウントを持っていて、非常に簡単でした。

4

2 に答える 2

2

User Instance と AttachDbFileName=のアプローチ全体に欠陥があります - せいぜい! Visual Studio は.mdfファイルをコピーし、おそらく問題なく動作しますが、最終的に間違った .mdf ファイルINSERTを見ているだけです!

私の意見では、本当の解決策は

  1. SQL Server - Express (とにかく既に実行済み) またはその他のエディションをインストールします。

  2. SQL Server Management Studio (エクスプレス) をインストールする

  3. SSMS Expressでデータベースを作成し、論理名を付けます (例: YourDatabase)

  4. 論理データベース名(サーバー上でデータベースを作成したときに指定) を使用して接続し、物理データベース ファイルとユーザー インスタンスをいじらないでください。その場合、接続文字列は次のようになります。

    Data Source=.\\SQLEXPRESS;Database=YourDatabase;User ID=AppUser;Pwd=Top$ecret
    

    そして、それ以外はすべて以前とまったく同じです...

本番環境へのデプロイには、基本的にいくつかのオプションがあります。

  1. 自分で展開 SQL スクリプトを作成しsqlcmd、またはその他の便利な SQL スクリプト ランナーを使用してそれらを実行します。

  2. Red-Gate SQL Compare のような SQL 差分ツールまたは組み込みの Visual Studio 差分ツールを使用して、クライアントのサイトにインストールされているデータベース バージョンと新しいバージョンの違いを判断し、その差分から単一のアップグレード SQL スクリプトを作成します。

  3. Visual Studio データベース プロジェクトを使用して、VS にアップグレード スクリプトと展開を処理させます。VS データベース プロジェクトは、データベースの上にモデルを作成します。基本的にはCREATE TABLE ....スクリプトを作成するだけで、VS ツールは何を変更、削除、新たに作成する必要があるかを判断します。

  4. Entity Framework のコード ファーストを使用している場合 - EF コード ファーストの移行を使用して、C# コードからデータベースを更新することを検討してください。

于 2012-12-11T11:29:02.340 に答える
1

私がしたことは、mdf とログ ファイルを移動し、SQL Server 管理スタジオ経由でそれらを添付するだけです。

<add name="DefaultConnection" connectionString="Server=YourServer;Initial Catalog=YourDatabaseName;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
于 2012-12-11T11:32:04.580 に答える