標題の別サーバーのDBへテーブルをコピー(更新)したいと考えておりますが、やり方が全く分かりませんのでお教えください。

【更新元】
販売管理サーバー
OS:Windwos2008R2
SQL SERVER 2008R2
サーバー名:POS
DB名:POSDATA
テーブル名:POS売上伝票

【更新先】
社内開発用サーバー
OS:Windwos2008R2
SQL SERVER 2012Express
サーバー名:AD
DB名:POS
テーブル名:POS売上伝票

POS上のSQL ManagementStudeoから、AD上のSQLSERVERへのアクセスは可能な状態にしております。

◎実装したい要件
POSサーバー上のデータを、毎日定時にADサーバー上のDBに追加更新
※理想としては、バッチ等のスクリプトをタスクに登録し定時に実行

自分なりに調べてみたのですが、データを丸ごとコピーする場合は、"bcp"コマンドを実行すれば可能なようですが、bcpコマンドで、サーバー間のコピーの方法が良くわかりませんでした。
また、出来れば日々更新する為、データが変更されたレコードはUPDATE追加されたデータは、INSERTする事が理想です。
※夜間のバッチ処理ですので、上記の方法が私の知識的に難しようであれば、テーブルを作り直ししてもよいと考えております。

効率的な方法をご存じの方がいらっしゃいましたらアドバイスをお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

>間違っているかもしれませんが、BCPを使う場合。


>販売管理SV側で、bcpコマンドでバックアップファイルを作成・出力。
>ADSV側で、出力されたバックアップファイルを読込と言う事で宜しいでしょうか?
はい。あっています。
とはいえ、
>
>お教え頂いたURLを拝見しましたが、イマイチ理解出来なかったため、最低限必要な書き方をお教え頂け>たら幸いです。
という感じでしたら、リンクサーバを使うほうがいいのかなあという気がしてきました。

http://sql55.com/query/linked-server.php
ここで、SQL SERVER認証のほうをつかう。
これが難しいようなら、
下のサイトの「SQL Server Management Studio の使用」のところを見てもらう。
http://msdn.microsoft.com/ja-jp/library/ff772782 …
ちょっとわかりにくいかも。
ならば、下のサイトの手順でやってみる。
http://d.hatena.ne.jp/haradago/20110125/p1

ぐらいかな。
・・・これで引っかかるようなら、どこがわからないか、あるいは、何を入力したか
   返信いれてください。
    • good
    • 0

とりあえず、Microsoftのサイトに自習書があるので見てください。

(参照URL)


他の回答者も書いていますが、
更新元サーバーをさわらずに実施しようとするならば
更新先サーバーにリンクサーバーとして、更新元サーバーを登録して

更新元を select した結果を
更新先へ insert する方法が最善だと思われます。

参考URL:https://www.microsoft.com/ja-jp/sqlserver/2008/r …
    • good
    • 2
この回答へのお礼

toshih2000様
MSの自習書お教え頂きありがとうございます。
いくつかダウンロードして見ましたが、低能な私でも理解出来そうでしたので、参考にさせて頂きます。

お礼日時:2014/05/13 19:34

BCPは、


1.販売管理サーバーで
OUTパラメタをつけてデータベースから普通のファイルへ出力
2.出力したファイルを社内開発用サーバーへコピー
 (ネットワークドライブで直接参照してもいいが4.が遅い)
3.社内開発用サーバーで対象テーブルをtruncateまたはdelete
 (BCPではデータが変更された分はUpdateされたと思いますが削除された分が反映できないため)
4.社内開発用サーバーで
INパラメタをつけてデータベースへ普通のファイルから読み込む

という処理になります。
http://msdn.microsoft.com/ja-jp/library/ms162802 …
参照。(本当は2008R2のに移動してもらったほうがいいけど。)
なお、テーブルレイアウトの変更は両方のサーバに必要。

他の方法としては、
A)データベースをバックアップしてリストアする。
 他のテーブルは対象外なのでかえってやりにくい。
 (まあ、別のデータベースとしてリストアしてmerge文とdelete文使って・・・
  という方法はありますが)
B)トランザクションレプリケーションする
 たぶんバッチ処理でなくリアルタイムになってしまうので論外。
 トランザクションログやディストリビューションデータベースのサイズなどもろもろを考慮する
 必要もある。
C)スナップショットレプリケーションする
 これは、時刻指定でコマンドを実行したときに全部入れ替えされるのでやり方としてはありと
 思いますが。
 販売管理サーバーに設定することが多いのと、知っておかないといけないことが大量なのと。。。
D)リンクサーバを作ってSQLを実行する。
 これは、時刻指定で、deleteとmerge(またはinsert/update)命令を実行するだけ。
 トランザクションログがあふれないかどうかだけが気がかりですが。
 リンクサーバの作り方は下のURLあたりかな。
 http://technet.microsoft.com/ja-jp/library/ff772 …
 権限設定で、はまる可能性はありますが、
 sqlのほうは、deleteもmergeも、
 テーブル名の指定で、リンクサーバ名.DB名.スキーマ名.テーブル名とするだけなので比較的簡単。

まあ、簡単なのは、BCPかリンクサーバを使う方法でしょう。
    • good
    • 0
この回答へのお礼

Siegrune様
回答ありがとうございます。

記載頂いた、URLを拝見しましたが、私にはハードルが高すぎて理解出来ませんでした。

質問では、理想を描いてしまったため、根本的なSQLServerを理解していない私には厳しそうです。

今まで、Accessのリンクテーブルを作成して必要なデータを抽出していたのですが、大量のデータのクエリをかけると販売管理システム自体が不安定になるため、上記のような事が出来ないかと考えておりました。

ですので、販売管理側に大きな負荷がかからなければ、(ADサーバー側は負荷がかかって停止しても問題ありません。)全テーブルを作り直してもかまいません。
あわせて、出来れば毎日深夜にその作業を行えれば、業務に支障が出る事は無いと思います。

間違っているかもしれませんが、BCPを使う場合。
販売管理SV側で、bcpコマンドでバックアップファイルを作成・出力。
ADSV側で、出力されたバックアップファイルを読込と言う事で宜しいでしょうか?

お教え頂いたURLを拝見しましたが、イマイチ理解出来なかったため、最低限必要な書き方をお教え頂けたら幸いです。

私のイメージとしては、Mysqldumpみたいな事が出きれば現段階では良いと考えております。

あつかましいお願いで申し訳ありませんが、よろしくお願いいたします。

お礼日時:2014/05/12 10:34

SQL Serverの場合リンクサーバーの設定をすれば別サーバーのデータベースをリンクサーバー名.データベース名.スキーマ名.テーブル名とする事で通常のSQLで扱えるようになります。

夜間バッチで行うのであれば受ける側のSQL ServerでDROPとCREATEとINSERTを行う作業をプログラムを組んで実現されれば問題が少ないです。
    • good
    • 0
この回答へのお礼

nharasawa様
回答ありがとうございます。

リンクサーバーの件も考えたのですが、どう変更してよいやら全く分からず。。。
また、販売管理SV側には、閲覧権限しかないので、リンクサーバー構築も難しいのではと考えております。

お礼日時:2014/05/12 10:11

SQLServerなら、ストアドプロシージャに、そういう処理するSQL文を作っておいて、SQLServerのジョブのスケジュール設定で、毎日定時に実行してあげればいいと思いますよ。

    • good
    • 0
この回答へのお礼

STICKY2006様
回答ありがとうございます。

ほんと、初歩の初歩が分かってないのですいません。
ストアドプロシージャーの作り方というか書き方が分かりません。
ジョブスケジュールについては、購入した本に載っていたので、何とかなるかなと思いますが、T-SQLについてAmazonを探したのですが、分かりやすい本がなかったのでお手上げ状態です。
また、販売管理SV側には、閲覧権限しか与えられてない為、ストアドも作成出来ないのではと考えています。
素人以下の質問で申し訳ありませんが、良い方法が有ればお教え頂けましたら幸いです。

お礼日時:2014/05/12 10:09

このQ&Aに関連する人気のQ&A

このQ&Aと関連する良く見られている質問

Qテーブル構造を支える脚の材料と太さの計算方法

テーブル構造を支える脚の材料と太さの計算方法

こんにちは。テーブル構造を支える脚の材料と太さの計算方法と材料を教えて頂きたいです。

条件は:
条件1中央の脚一本でテーブル板を支える
条件2テーブル板の重量は決定済み、M=6kg
条件3脚の下の固定は別途設計するので、倒れることは考えなくても良い
条件4脚とテーブル板の固定は別途設計するので、倒れることは考えなくても良い
条件5テーブルは携帯式なので、脚を出来るだけ細くできればよい
と考えています。

質問1十分な強度を得られ、しかも軽量な材質は何でしょうか?
質問2そのときの脚の太さの計算方法は?

条件3と4で述べたとおり固定方法も考える必要もあるのですが、とりあえず脚が決まってからの方が良いと思いましたので、質問させていただいている次第です。

ご教授ありがとうございます。

Aベストアンサー

計算式
(耐荷重+固定荷重)÷木材の許容圧縮応力度÷脚本数=必要断面積(cm2)
上記計算式でテーブル脚をルート断面積で正方形の脚の寸法が求められます。
耐荷重とは、貴方がテーブルに上げる最大重量です。(kg又はN)
木材の許容圧縮応力度は、材料強度です。
建築基準法同施行令に参考になる材料強度表が書かれています。
材種を決めて計算する事が大事です。
ご参考まで

Q別のDBからテーブルをコピーする方法

SQL Server2005 Express Edition を使っています。
異なるDB間(同じコンピュータ内)で、テーブルをコピーしたいの
ですが・・・
コピー元DB名:DB_A
コピー元テーブル名:dbo.顧客
コピー先DB名:DB_B

テーブルのコピーは select * into ・・・ from ・・・ を使えばできそうですが、別DBの場合の方法がわかりません。
お教えいただければ幸いです。
よろしくお願いいたします。

Aベストアンサー

別のDBでも同じインスタンス内ならば同じです。

SELECT * INTO DB_B.dbo.顧客 FROM DB_A.dbo.顧客

Qアンティーク家具 G-PLAN テーブルの名前を。。。

おそらくG-PLANの家具だと思うのですが、テーブルと椅子のセットの美しい家具です。
名称が分からず困っています。

ご存知の方いらっしゃいますでしょうか?

・円形ガラステーブル と スツール3脚 のセット
・スツールは舟形でテーブルの中(下)に収納できる
・スツールを納めると三つ葉のクローバー というか法輪 のようなデザイン
・φ800 H500ぐらいのサイズ

お分かりの方是非お知らせくださいませ!
よろしくお願い致します

Aベストアンサー

G-PLANのガラストップテーブルで有名なのは『スパイダー』ですが、文面から察するに『ラウンドコーヒーテーブル』のようです。このテーブル脚とお揃いのスツールがあったはずです。座面が350φほどでベージュかクリーム色だったのを見た記憶があります。

見たのがずいぶん昔のことであいまいですいません。

Qテーブルの参照方法

よろしくお願いします。
SQLServer2005についての質問です。
(OS:Windows Server 2003 SP1)

サーバが2台あり、どちらにもSQL Server 2005 がインストールされ
ています。一方のサーバ(サーバA)に存在するテーブルを他方の
サーバ(サーバB)からTSQLで参照するにはどのようにすれば良い
でしょうか?

各サーバで必要な設定と、実行するTSQLのイメージを教えてください。

基本的なことかもしれませんが、調べてもさっぱり判らず困っています。
(sqlcmdを使うようだというところはなんとなく判りました)
どうぞよろしくお願い致します。

Aベストアンサー

リンクサーバを構築しないでもできますよ。
Management Studioから、リンク元のサーバを右Clickし、
サーバのプロパティを表示させます。
そこに、「接続」というタブがあるんで、
「このサーバへのリモート接続を許可する」をCheckONにしておく
ことと、

SQL Serverをインストールすると、
[構成ツール]の配下に「SQL Server セキュリティ構成」もインストールされるので、「サービスと接続のセキュリティ構成」を
選んで、SQL Server 2005 Surface Area Configuration を
起動させます。

[リモート接続]というタブがあるので
[ローカル接続および[リモート接続]を選択し、
適切なTCPプロトコルを設定し、適用させて、SQL Serverのサービスを
再起動すれば可能です。

細かい点としては、SQL Server Browser Serviceの有効化や
SQL Serverのファイアウォール設定を行う必要があります。

詳しいことは、ご確認頂いていたサイトの日本語版が
http://support.microsoft.com/kb/914277/ja-jp
にもありますので、少しはわかりやすいかと思います。

なお、設定後のSQLアクセスは、
select * from [サーバAのサーバ名].[DB名].[スキーマ名(dbo等)].[テーブル名]
で接続可能です。

よろしくお願いします。

参考URL:http://support.microsoft.com/kb/914277/ja-jp

リンクサーバを構築しないでもできますよ。
Management Studioから、リンク元のサーバを右Clickし、
サーバのプロパティを表示させます。
そこに、「接続」というタブがあるんで、
「このサーバへのリモート接続を許可する」をCheckONにしておく
ことと、

SQL Serverをインストールすると、
[構成ツール]の配下に「SQL Server セキュリティ構成」もインストールされるので、「サービスと接続のセキュリティ構成」を
選んで、SQL Server 2005 Surface Area Configuration を
起動させます。

[リモー...続きを読む

Qコンロが置けるアウトドア用テーブルについて

最近アウトドアショップにて、真ん中にに穴が開いてコンロが置けるテーブルを見かけました。それは折りたたみ式でアルミと合板で出来ているようで、熱いコンロを置くとどれぐらい熱くなるかがちょっと不安です。そのようなテーブルをお持ちの方、ご存知の方はどれぐらいの範囲で熱くなるのか、注意する点について教えて下さい。

Aベストアンサー

 私たち家族4人(大人2人、幼児2人)が、使っているのは、SOUTH FIELDの、バーベキューテーブル120ワイド、サイズが幅1220×奥行800×高さ380,700mm高さは二段階調整可能です。収納サイズは、幅610×奥行き800×高さ70mm、重量約9kgの物です。
テーブルグリルは他社の物ですが、熱を逃がすタイプの物を使用しています。(ブルーシートの上にも直接置けるタイプの物です。)
家族だけのキャンプには本当に快適です。
みんなでテーブルを囲んでゆっくり食事が出来るのが良いです。
バーベキューコンロ自体は中で炭が燃えているのだから触れば熱いのは当然ですが、テーブルに伝わる熱は全く気になりません。
私たち家族は、買って良かったと思っています。

QSQLServer 2008のインスタンス間DBコピーの方法を探してい

SQLServer 2008のインスタンス間DBコピーの方法を探しています。

インスタンス1とインスタンス2に同じテーブル構造(名称も同じ)のDBを用意しています。
インスタンス1のDB(以下、DB1)をインスタンス2のDB(以下、DB2)に
コピーする方法を模索しています。

SQLServerのバージョンは2008で、Standardです。

できればDB1を止めることなく、DB2にコピーできるよう考えています。

ご存じの情報がありましたら、教えていただければと思います。
よろしくお願いします。

Aベストアンサー

DELETE FROM DB2.dbo.table1
INSERT INTO DB2.dbo.table1 SELECT * FROM DB1.dbo.table1

膨大な行数であれば、DB2.dbo.table1のインデックスを一時的に削除するとよい。

Q8畳のリビングの使い方(ダイニングテーブルは必要か?)

8畳のリビングの使い方(ダイニングテーブルは必要か?)
夫と二人で暮らしています。私は新居のリビングが8畳と狭いので、ダイニングテーブルを諦めて長方形のコタツを買って夏はローテーブルとして使おうと思っています。

しかし旦那は椅子に座って食事がしたいといい、ダイニングテーブルをリビングが狭くても欲しいといっています。
子供やお客様のことを考えて4人は座れるテーブルが欲しいそうです。
「冬になったらコタツでご飯食べるのに・・」と言っても「生まれてくる子供のためにもダイニングテーブルは必要」と言うのです。

ダイニングテーブルが無いと不便なことってあるのでしょうか??

ちなにに引っ越す予定はありません。10年後一軒家を建てたいと思っています。

Aベストアンサー

必要かどうかより、好みの問題ではないでしょうか。
食事は椅子に腰かけて食べたいと思う人は案外多いようです。
私は床に近い生活が好きなので座卓は好きですが、気分的にしゃきっとしないから座卓で食事は嫌だと言う人にもたくさん会いました。
今はダイニングに慣れたので、どちらの気持ちも理解できます。

さて、リビングが狭くてもダイニングセットを置きたいなら、普通のダイニングせっとではなく、椅子がソファのようになったセットもあります。ダイニングセットと、ソファーセットの両方を置くスペースがないか、あるいはスペースを有効に使いたい方のための物だろうと思います。
2軒の知人宅で見かけました。
これだと、ダイニングセットでありながらくつろぐことも出来るものなので、8畳を広く使えるのではないでしょうか。

冬になったらこたつを置くのはもう決まったことでしょうか?
ご主人が腰かける生活が好きなら、冬のこたつはやめて、暖房にして広々と暮らす方がすっきりしそうですね。

ダイニングテーブルは必要か、と言う質問は、恐らく「コタツを置く」を前提にした考え方ですよね。
それよりもリビングをどう使って、どう暮らしたいかをご主人とすり合わせないと、無駄に部屋が狭くなりそうな気がします。

私は本当にコタツが大好きだったのですが、コタツを使わない生活も良いなと思います。
ヤドカリにならずにすむので、冬でも動くのが億劫ではないし、部屋もきれいにしやすいです。

必要かどうかより、好みの問題ではないでしょうか。
食事は椅子に腰かけて食べたいと思う人は案外多いようです。
私は床に近い生活が好きなので座卓は好きですが、気分的にしゃきっとしないから座卓で食事は嫌だと言う人にもたくさん会いました。
今はダイニングに慣れたので、どちらの気持ちも理解できます。

さて、リビングが狭くてもダイニングセットを置きたいなら、普通のダイニングせっとではなく、椅子がソファのようになったセットもあります。ダイニングセットと、ソファーセットの両方を置くスペースが...続きを読む

Q[SQLServer]既に存在するテーブルに他のテーブルからデータをINSERT

SQL初心者です。

既に存在するTable_A(レコード0件)に対して、これまた既に存在するTable_B(レコード100件)の内容をINSERTしたいです。次のように書くとだめですよね。
(Table_AとTable_Bのレイアウトはまったく同じ)

select * into Table_A from Table_B

何か策はあるのでしょうが、ちょっと探しきれません。お分かりになるかた教えてください。

Aベストアンサー

>(Table_AとTable_Bのレイアウトはまったく同じ)
これを読み飛ばしておりました。

ならばもっと省略できます
Insert Into Table_A
Select *
From Table_B
where フィールドB1 = 'ぱけらった' ←条件をつけるとき

QDIYテーブルの折りたたみ脚について

天版を蝶番で付けて真ん中を繰り抜き、七輪テーブルを作成しました。
現状は、余っているキャンプ用テーブルの脚をガムテープで固定しています。
ユニフレームの焚き火テーブルと同じ高さの折りたたみ脚を付けたいと思ってますが良いアイデアもしくは脚の販売先はありますでしょうか?
焚き火テーブルの高さは37cm、七輪テーブルの天版の厚さは約1.5cmなので、最低でも35cmの脚が必要になるかと思います。30cmの脚は結構見かけるのですが・・・。

Aベストアンサー

市販品にこだわらず、木などで作れば高さ自由ですよ。

1)別板を2枚クロスさせて天板を置く
2)蝶番つけて折りたたみ足にする
3)ナット埋めてねじ込みにする
4)テーブルを箱型にして、七輪+火種のケースとしてもそのまま使う

↑これらは高さの微調整にはアジャスタフットなりが必要ですが、
こういうの↓はアジャスタ機能もってますね

5)パイプの入れ子構造にして、内パイプは外パイプとねじ止めする。
 または外側の先端に割りをいれておいてクランプやホースバンドなどで締めて内パイプを固定する
6)天板の下にハの字形に広がるように左右脚をつけて、間をロープでつないで開き具合を調節する


ま、私なら4か6にしますね。
6のみ、簡単に絵にしておきます。

QSQLServer2005上の別DBからテーブルを読みたい

SQLServer2005で2つの異なるデータベース(ADB、BDB)が存在します。
ADBでBDBにあるテーブルを取得して検索をかけたいのですが、どのようにすれば実現できるのでしょうか。
BDBのVIEWを作成するイメージなんですが、リンクテーブルを設定するとかが必要になるのですか。
もしそうだとしたら、どうリンクテーブルを設定するのか教えてください。

Aベストアンサー

その2つのデータベースは同じインスタンスにいますか?
同じインスタンスにいるなら、
SELECT * FROM BDB.dbo.テーブル名
などで検索できます。

インスタンス自体が別ならリンクサーバを設定します。
サーバのリンク
http://msdn.microsoft.com/ja-jp/library/ms188279(SQL.90).aspx

もしくはアドホックリモートクエリを使う方法もあります。
ただし、OPENROWSETを使う場合は「SQL Server のセキュリティ構成」で利用を許可しないといけませんのでご留意ください。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング