ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3833864 別インスタンスからインポート(Transaction-SQL)
質問者:LuckDragon google 等で、必要な情報が見つからなかったため、ここで質問してみます。
既出だったら申し訳ないのですが、下記の T-SQL スクリプトを作成しようとしています。
どうにも取っ掛かりが無いので、下記の簡易なスクリプトの例があったらご教授ください。

なお、自動化が目的なので、Transaction-SQL となっています。
DTSパッケージ等でできるのはわかっています。
DTSパッケージでの操作を、トレース等でトレースログをとろうにも、
別インスタンス指定の部分のみがログに残らないので、途方にくれています。

やりたいこと(Transaction-SQL)
(1) 同じサーバー上で稼動している別インスタンス(例えば [DB01])から、インポートする。
(2) テーブル名、テーブル定義は同じ(当然キーなどの優先順位なども同じ)
(3) インポート指定時にクエリ等で、データを指定する。
(このクエリについては作成できています。つまり同じインスタンス内では動作可能となっている)
困り度:
  • 困っています
質問投稿日時:
08/03/05 00:14
最新から表示回答順に表示

回答

ANo.2 こちらをご参考に
回答者:nora1962
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/03/18 22:28
参考URL: http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/ad...
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.1 リンクサーバーという仕組みを利用すれば、以下のようにTransaction-SQLでデータを取得できます。
SELECT * FROM リンクサーバー名.データベース名.dbo.オブジェクト名
回答者:takekan
種類:回答
どんな人:経験者
自信:参考意見
回答日時:
08/03/09 18:54
参考URL: http://www.sqlpassj.org/dbe/quick/02.aspx
この回答への補足実際の動作をさせてみたのですが、何か記述が違っているのか、多分パーサー系のエラーが返ってきてしまうのですが、何か間違っているのでしょうかね。

BULK INSERT FROM [INSTNM].[DBNM].[dbo].[TABLENM]

INSTNM...インスタンス名
DBNM...DB名
TABLENM...テーブル名

Error:キーワード 'FROM' 付近に正しくない構文があります。"
この回答へのお礼回答ありがとうございます。
参考URLでは、該当項目のところでページがないエラーが帰ってきてしまいますので(俗に言う404Error。ページが移動した模様^^;)、リンクサーバーというキーワードで探してみます。(今、稼動SQLサーバーが近くにないので、戻ってからですが...)
ともあれ、通常のデータベース名の上位も指定可能だ、という理解でよろしいのですよね。(初心者的意見で申し訳ないです...)
 
最新から表示回答順に表示