3

まったく同じスキーマを持つ 2 つのデータベースがあります。一方からデータをエクスポートし、もう一方に複製したいと考えています。テーブルを削除して再作成したくありません。ターゲット データベースのすべてのデータを消去し、ソース データベースからエクスポートされたデータに置き換えます。

これは可能だと思いますか?ターゲット データベースは、権限が非常に制限されたクライアント環境にあります。

4

4 に答える 4

1

SQL Server インポートおよびエクスポート ウィザードを使用して、データをインポートできます。SQL Server インポートおよびエクスポート ウィザードは、データベースとの間でデータをコピーできます。

于 2013-03-13T02:55:08.643 に答える
0

SQLではわかりません。ただし、phpなどの3番目のアプリケーションを使用してデータ転送を実行できます。拳はテーブルからすべてのデータを収集します。テーブル内のデータごとに、ターゲットテーブルでルックアップを実行します。ターゲットテーブルに現在のソースデータと同じデータが含まれている場合は、更新してください。それ以外の場合は、新しいものを作成します。たぶん、PHPでは次のようなものです。

$source = mysql_query("SELECT * FROM source_table");

while ($row = mysql_fetch_assoc($source)) {
    $target = mysql_query("SELECT * FROM target_table WHERE id='" . $row["id"] . "'");
    $tr_row = mysql_num_rows($target);

    if ($tr_row > 0) {
        $result = mysql_query("UPDATE target_table SET name='" . $row["name"] . "' age='" . $row["age"] ."' WHERE id='" . $row["id"] . "'");
    } else if ($tr_row <= 0) {
        $result = mysql_query("INSERT INTO target_table (name,age) VALUES ('" . $row["name"] . "','" . $row["age"] . "'");
    }
}

これは、PHPとMySQLのサンプルコードです。この助けを願っています。:)

于 2013-03-13T03:23:02.603 に答える
0

2 つのデータベース サーバーをリンクできる場合は、SSMS から INSERT と SELECT ステートメントを使用してこれを行うことができます。

リンク サーバーについて詳しく説明している記事を次に示します

于 2013-03-14T09:38:03.197 に答える
0

SSIS パッケージを使用することもできますし、それを行う製品もあります。私はそのための特定の製品 (Red Gate による SQL Data Compare) といくつかのバージョンのソース管理の両方を使用しました (後者については、実際には「静的な」ルックアップ データのみ)。

これらのオプションでさえ、通常、INSERTS などからスクリプトを作成するだけです。

具体的には「複製」という言葉を使用します。データベース間で実際のスナップショット レプリケーションを行うことを検討しましたか。

http://technet.microsoft.com/en-us/library/ms151734%28v=sql.105%29.aspx

ただし、それもあなたの質問によると完璧ではありません。

オプションはありますが、悲しいことに、ただ実行するほど単純なものはありませんRESTORE DATABASE

于 2013-03-13T03:01:38.803 に答える