2

やりたいことは次のとおりです。簡単にするために、1つのデータベースで作業しています。「d1」と名付けます。このデータベースから 2 つのテーブルをクエリするだけで済みます。ただし、このデータベースから昨年のデータのみを分離する必要があります(これは、私がやりたいことに関連する唯一の情報です-2012年の監査レポート:/ )。私が使用しているデータベースには、少なくとも 6 年または 7 年分のデータを含む、簡単な 50 個のテーブルがあることに注意してください。

考えられる解決策: 1. データベースを新しいデータベースにコピーし、2012 年のデータ以外をすべて削除します。2. 両方のテーブルをコピーして新しいデータベースに投入し、2012 年のデータを除くすべての行を削除します。

私の前の IT 担当者は、2011 年のデータベースを作成し、監査レポートを作成することができました。ただし、この種のタスクはこれまで行ったことがありません。どんな助けでも大歓迎です.EST時間の午後4時までこの質問を見ています. うまくいけば、私は私のリクエストに具体的でしたが、そうでない場合は、ここで返信を待っています:)。ありがとう!

4

2 に答える 2

1

私は SQL Server で利用可能なユーティリティについて完全に精通しているわけではありませんが、それ以外の場合に利用可能なユーティリティに基づいて、

  1. テーブルのデータをエクスポートするためのダンプ ユーティリティを見つけます。多くの場合、そのようなエクスポート ユーティリティでは、テーブル名を指定でき、しばしば where 条件が使用されます。エクスポートは SQL で行われ、新しいデータベースへの入力に使用できます。
  2. ソース データベースと同じサーバー上に新しいデータベースを作成します。データベース間の更新を行います。したがって、データベース db2012 を作成します。データベース db2012 を使用して、次の更新ステートメントを実行します。

.

update table1
(select * from d1.table1 where year(timestamp_x) = 2012)
于 2013-01-22T16:48:11.520 に答える
1

最も簡単なことは次のとおりです。

select t.*
into newdb..t
from olddb..t
where <from the last two years>

テーブルごとに。これでデータが取得されます。

他のもの (インデックス、制約など) が必要な場合は、テーブル定義をスクリプト化し、それらを新しいデータベースに再作成して、既存のテーブルからデータを挿入します。

于 2013-01-22T16:49:29.020 に答える