1

C#を使用して、既存のSQL Server 2008データベーススキーマをコピーしますが、データはコピーしません。同じサーバー上の新しいデータベース(つまり、MyDB => MyDB_Test)にコピーします。

http://www.codeproject.com/KB/cs/CopyDBSchemaUsingSMO.aspxで、私が望んでいることを正確に実行しているように見えるサンプルコードを見つけましたが、ddatabase.Create()行に次のエラーがスローされ続けました。

Could not load file or assembly 'Microsoft.SqlServer.BatchParser,
Version=9.0.242.0, Culture=neutral,

PublicKeyToken =89845dcd8080cc91'またはその依存関係の1つ。指定されたファイルが見つかりません。":" Microsoft.SqlServer.BatchParser、Version = 9.0.242.0、Culture = neutral、PublicKeyToken =89845dcd8080cc91 "

不足しているDLLを見つけようとしましたが、SQL Server 2005のバージョンしか見つかりませんでした。それを使用するか、別のダウンロードを探すか、まったく別の方法をとるかはわかりません。

どんな助けでも大歓迎です!!

4

2 に答える 2

1

マシンへの SQL Server 2008 コンポーネントの不完全なインストールを見てきました。その場合は、Microsoft のダウンロード サイトMicrosoft SQL Server 2008 Management Objectsにアクセスして、適切なバージョン (x86 32 ビットまたは x64) の (中央の少し下) を入手してください。64 ビットまたは IA64 64 ビット - 必要に応じて)。

それをインストールして、もう一度やり直してください。

すべてのコードを自分で書くのではなく、既存のツールを購入して使用することも検討してください。たとえば、これを可能にする Red-Gate のSQL Compareをチェックしてください- 2 つのデータベース (それらの構造) を比較し、両方が同じレベルにあることを確認してください。

于 2010-01-27T15:08:43.397 に答える
0

頭に浮かぶいくつかのポイントは、考慮すべきことだと思います。

これは1回限りのことではないようですが、もっと多くの機会にやりたいことがあるので、次のことをお勧めします。

  1. db作成スクリプト全体を保持し、それらを実行します。私見、これはとにかくソース管理内にあるのは良いことです
  2. データベースのクリーンな(空の)バックアップ(基本的にはテンプレートコピー)を用意し、それを新しいDBとして復元します
于 2010-01-27T14:57:59.560 に答える