3

あるデータベース (SQL サーバー 2008) から別のデータベース (SQL サーバー 2008) に別のスキーマでデータを転送するための最良の方法は何ですか?

それを行うためのプログラムはありますか?

ありがとう 4 あなたの将来の答え

よろしくお願いします

4

3 に答える 3

3

ニーズの複雑さに応じて、SSISの使用を検討することをお勧めします。

于 2010-10-19T20:50:39.073 に答える
3

これを行うには、SSIS(SQLサーバーに付属)を使用します。ただし、これは簡単でも迅速な作業でもありません。あるスキーマから別のスキーマへのマッピングには非常に時間がかかる可能性があり、処理する必要のあるスキーマから別のスキーマに適合しないデータがほぼ確実に見つかります。たとえば、フィールドが最初のスキーマでvarcharであり、2番目のスキーマでdatetimeである場合、特にフィールドが必須フィールドである場合に問題となる可能性のある不正な値( "ASAP"など)を除外する必要があります。実際、これらのタイプのミスマスにも対処する必要があります。それが必要でなく、現在の場合、現在のレコードにどのような価値を入れますか。null。フィールドサイズが一致しない場合はどうしますか。データを切り捨てる必要がある場合があります。ルックアップ値が異なる場合は、変換テーブルが必要です。子テーブルを適切にロードできるように、古いIDフィールドと新しいIDフィールドを関連付けるための変換テーブルが必要になる場合があります。これは非常に複雑な作業です。

于 2010-10-19T20:52:27.090 に答える
1

ソース サーバーを宛先サーバーにリンクします。次に、dest サーバーから、次のような独自のクエリを実行できます。

INSERT INTO Destination_Table (col1, col2, col3)
    SELECT colA, colB, colC
    FROM [SRC_MACHINE\SRC_SERVER].Source_Database.dbo.Source_Table

クエリの作成に慣れている場合は、ネストされた SELECT にすべてのデータ変換 (必要な場合) を含め、JOIN などを操作して、選択したデータ構造を宛先スキーマに適合させることができます。

両方のサーバーが SQL Server Express (SSIS に同梱されていない) を実行している場合でも実行可能です。 リンク サーバーに関するドキュメント

于 2012-01-14T01:15:49.067 に答える