2

私は次の設定をしています:

  • 開発: 私の app_data フォルダーを参照する接続文字列を持つ MDF ファイルを使用する自分のコンピューター。
  • 本番: 独自の SQL データベースを備えたオンライン サーバー

システムに新しいテーブル/フィールドを作成する場合は、展開で作成し、データなしでそれらのスクリプトを本番環境で実行します。

今、私は逆の状況にあります。実動サーバーからスクリプトを生成し、それらをローカルの MDF ファイルに対して実行したいと考えています。

それ、どうやったら出来るの?これまでに見たすべての答えは役に立ちません。

私は次のことを試しました

Visual Studio の [クエリの実行] で SQL スクリプト全体を実行しようとしましたが、「Set SQL コンストラクトまたはステートメントはサポートされていません」というメッセージが表示されます。エラー。

どうにかして Microsoft SQL Management Studio で MDF ファイルを開く必要があると思いますが、すべてを機能させる方法が実際には見つかりません。

編集

半年後、答えとして提案された方法を繰り返し使用しています。それは断然最良の解決策です。プロジェクトに MDF ファイルはもうありません。

これを読んでいる人には、ローカルデータベースにデータベースを持ち始めることを強くお勧めします.

4

2 に答える 2

2

私の意見では、AttachDbFileName=アプローチ全体に欠陥があります。その.mdfファイルは、既にインストールされている SQL Server インスタンスに添付されていないため、実行できないことがたくさんあります。

  • BACKUPデータベースのバックアップには使用できません
  • .sqlデータベースに対してスクリプトを簡単に実行できない
  • そして、さらに多くのこと

私の意見では、唯一の本当に実行可能な解決策は、

  1. SQL Server Express をインストールします (とにかく、既に完了しています)。
  2. SQL Server Management Studio Express をインストールする
  3. SSMS Expressでデータベースを作成し、論理名を付けます (例: YourDatabase)
  4. 論理データベース名(サーバー上で作成したときに指定) を使用して接続し、物理データベース ファイルとユーザー インスタンスをいじらないでください。その場合、接続文字列は次のようになります。

    Data Source=.\\SQLEXPRESS;Database=YourDatabase;Integrated Security=True
    

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

于 2012-07-15T20:35:28.097 に答える
0

Visual Studio で MDF に接続する:

https://stackoverflow.com/a/173221/188926

その後、SQL Server オブジェクト エクスプローラーで開き、クエリを実行できます。

于 2014-06-05T09:34:26.577 に答える