2016-05-12 18 views
-1

私は100万レコードのテーブルを持っています。1つのテーブルから行をコピーし、それを別のサーバーの別のテーブルに挿入します。

しかし、最初の10000行をコピーして、SQL Server管理スタジオの別のサーバーにある別のテーブルに挿入したいだけです。

Server1 
Db1 
Table : table1 

Server2 
Db1 
Table : table1 

私はDB1にTABLE1から10000行をコピーして、Server1からServer2 DB2でTABLE1にそれを挿入します。

私はこのクエリ構文を知っているが、私はあなただけデシベルとスキーマ名とテーブル名接頭辞する必要が異なるサーバー

INSERT table1 (Col1, Col2, ..., ColN) 
    SELECT Col1, Col2, ..., ColN 
    FROM table2 
    WHERE ... 
+0

同じインスタンスにありますか? –

+0

@ChrisPickford私の編集を確認してください –

答えて

0

に対処する方法を知らない:

INSERT INTO db2.dbo.table1 (Col1, Col2, ..., ColN) 
    SELECT TOP 10000 Col1, Col2, ..., ColN 
    FROM db1.dbo.table2 
    WHERE ... 
+0

私はちょうど10000行を上にしたいです –

+0

@devamdemo編集した内容を確認してください。 –

+0

私は本当に申し訳ありません、それはSQL管理スタジオの別のサーバーにあります、私の編集を確認してください。 –

0

更新をリンクされたサーバーを介してどのように行うかについて回答してください。 'Insert Into'ステートメントを使用すると、同じサーバー上の別のテーブル、一時テーブル、テーブル変数などと同様に、リンクされたサーバーに挿入することができます。選択には正しい数の列と対応するデータが含まれている限り第二のテーブルの種類以下の擬似コードは動作します:あなたの最初のインスタンスに

Insert Into LinkedServer.Db2.DbSchema.Table1 
Select Top 10000 
    Column1, 
    Column2, 
    ... 
From Db1.Table1 
Where ... 
+0

私はちょうど10000行を上にしたい。 –

+0

答えを編集して、「Top 10000」をSelect文に追加する。 –

+0

私は本当に申し訳ありませんが、それはSQL管理スタジオの別のサーバーにあります、私の編集を確認してください。 –

1

を、あなたは番目のインスタンスへのリンクサーバーを追加し、4パートネーミングとそれを参照することができます。あなたは、サーバーがオブジェクトノードを展開することにより、リンクサーバーを追加し、右側の「リンクサーバー」が

はその後、クエリは次のようになりクリックでき

INSERT YourlinkedServer.YourDB.YourSchema.table1 (Col1, Col2, ..., ColN) 
    SELECT TOP 1000 Col1, Col2, ..., ColN 
    FROM table2 
    WHERE ... 
あなたのクエリはまたにリモートデータを挿入することにより実行することができ

ローカルテーブル

INSERT table1 (Col1, Col2, ..., ColN) 
     SELECT TOP 1000 Col1, Col2, ..., ColN 
     FROM YourlinkedServer.YourDB.YourSchema.table2 
     WHERE ... 

リンクサーバーリンクサーバーを含む与えられた他の回答に加えてhttps://msdn.microsoft.com/en-GB/library/ms188279.aspx

+0

私のソースまたはデスティネーションに作成する必要がありますか? –

+0

いずれかが問題ありません。ソース上で作成する場合は、ソース上のローカルテーブルから選択し、リンクされたサーバーテーブルに挿入することができます。リンク先サーバーが作成されている場合は、リンクサーバーテーブルから選択してローカルテーブルに挿入することができます – JamieA

1

、あなたがCA n SSMSでデータベースを右クリックし、インポート/エクスポートウィザードを使用して行をあるサーバーから別のサーバーに移動します。

エクスポートするトップ10k行だけを返すクエリを指定できます。

+0

はい、私は同じスキーマを持っていてもコピーしません。一度私は成功メッセージを得ましたが、ソースからすべてのデータが消えてしまいました。私が再びオープンしたとき、データはソースに戻ってきましたが、宛先には何もありませんでした(私は10k行を選択しています。 –

+0

正しく実行すると機能します。残念ながら、私はあなたが試したときに間違ったことを知ることを見ていませんでした。 –

関連する問題