2017-06-07 11 views
-1

SQL Server 2008にはデータベースがあり、SQL Server 2016には同じデータベース(バックアップ)があります。すべてのスキーマとテーブルはまったく同じです。1つのSQL Serverテーブルのすべての行を別のSQL Serverのテーブルにコピーする方法

SQL Server 2008のテーブルからSQL Server 2016の同じテーブルにすべての行をコピーする必要があります。これを行うには?それが1なら

INSERT INTO dbo.YourTableNameHere 
    SELECT * 
    FROM [SourceServer].[SourceDatabase].dbo.YourTableNameHere 
+0

リンクサーバーを設定する必要があります。 –

+0

またはそのテーブルオブジェクト(データ付き)用のスクリプトを生成し、ターゲットサーバ上で同じスクリプトを実行することができます。 –

答えて

0

は、ターゲットサーバー上のスクリプトステップ を作成し、スクリプトテーブルとして/からスクリプトを使用して、ターゲットサーバー上のテーブルを作成し、あなたはその後、T-SQL文を発行することができますSQL Server Management Studioのデータエクスポート機能を使用することになります。 >「データのエクスポート」 - これを行うには

、「タスク」を選択し、SSMSでソース・データベースを右クリックします。ウィザードを使用して、エクスポートするもの(つまり、1つまたは複数のテーブル、またはクエリを使用するデータ)を正確に指定し、ターゲットを指定して、パッケージを実行するか、後で使用するために保存するかを選択できます。

0

+0

真実ではありますが、私はより多くの情報を元のデータベースに戻して新しい情報にコピー/転送する必要があることが分かっています。リンクされたサーバー接続は、これを行うのに非常に便利な方法です。明らかに、リンクされたサーバーは互いに遠く離れていることに気付く必要があるので、通常は、それらの間のテーブルにはどんな種類の 'JOIN'も避けるべきです。 – cars10m

+0

@ cars10私は、リンクされたサーバーのセキュリティの影響と、リモートサーバーを照会する際のロックの可能性についてより心配しています。しかし、欠点を認識している限り、それはうまくいくはずです。それで、1回限りの抽出の場合、リンクされたサーバーは大砲を使って蚊を撃つようなものだと私は考えています。 – SchmitzIT

+0

私はそれがユースケースに依存していると思います。私のリンクサーバーはすべて共通のファイアウォールの内側にあり、企業内のビジネスに使用されるため、セキュリティ*は重要ですが、公開されているサーバーほど重要ではありません。そしてそれらの間でデータをすばやく交換できる機能があれば、大きな助けになります。 – cars10m

1
  1. リンクサーバー
  2. BCP
  3. 既存のターゲットにターゲット新しいDBからのデータを更新し、新しいDBとしてターゲット・サーバー上で復元し、戻ってそれまで、その新しいDBにデータをコピーし、新しいDBを作成します。 DB。
+0

BCP? "ベストカレントプラクティス"? – cars10m

+0

一括コピープログラムユーティリティ - データをエクスポート/インポートするネイティブMS SQL Serverツール – Anton

0

あなたのようなのOpenRowSet使用することができます別のオプション:これが挿入可能であるautomaticallyテーブル名を作成し、そこにすべての行をコピーします

SELECT * into insertTable FROM 
OPENROWSET('SQLNCLI', 'Server=ServerIP\ServerExtentionNameIfhas;Database=dbname;Uid=uname;PWD=password;' 
,'SET FMTONLY OFF;SET NOCOUNT ON;SELECT * FROM fromTable') 

関連する問題