2011-06-08 19 views
5

私は時代遅れのデータベースを持っていますが、このデータベースのデータを現在の作業データベースとは別のバージョンに保存したいと思います。現在のデータベースのコピーを作成しましたが、新しいデータがすべて入っています。このデータをすべて削除し、古いデータベースからデータをインポートする方法はありますか?SQL Serverデータベースからすべてのデータを削除し、別のデータベースからデータを再入力しますか?

答えて

8

は、データを削除するために、これを試してみてください:

-- disable all constraints 
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all" 

-- delete data in all tables 
EXEC sp_MSForEachTable "DELETE FROM ?" 

-- enable all constraints 
exec sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all" 

データをインポートするには、次のデータベースを展開し、Microsoft SQL Serverの管理Studio Expressで

  1. を。右クリックし、スクリプトを生成し、その後、作業上の別のデータベースへ
  2. クリックをコピーしたいオブジェクトを含むデータベースに
  3. ...これはかなり自明であるスクリプトウィザードを開きます:
  4. オプションを選択すると(最初はデフォルトの選択を受け入れることができます)、
  5. スクリプトを作成するオブジェクトタイプを選択します(ストアドプロシージャ、ユーザー定義関数など)、
  6. スクリプトを作成する特定のオブジェクトを選択し、最後に指定しますyスクリプトをどこに出力するかを指定します(便宜上、新しいQuery Windowにスクリプトを選択してください)。

完了したら、スクリプトオブジェクトでクエリウィンドウに戻ります。接続先データベース(USE [Northwind]など)を指すようにUSEディレクティブ(最初の行)を変更し、スクリプトを実行します。