こんにちは、SQLServerとネットワークに関してよくわからないことがあります。
教えて頂けないでしょうか。
会社で使用しているSQLServerのデータを遠距離にある支店から参照したいのですが、システム部は、支店間でPCを接続することを原則禁止しています。
支店間の専用線に内線電話の音声信号も乗っていて、ネットワークのトラフックが増加すると、帯域の狭い支店で通話が途中で途切れるようになるので利用を制限しているようです。
SQLServerの利用方法ですが、SQLServerのデータを支店からODBC経由で、LMHOSTにサーバーのIPアドレスを指定して、ACCESS2000から参照しようとしています。
このような、SQLServerのデータ利用法は間違っているのでしょうか?
SQLServerのデータを支店間で利用するには、どんな方法が良いのでしょうか?
宜しくお願い致します。
サーバー側:Windows2000ServerSP3 SQLServer2000SP3 Windows認証
クライアント側:Windows2000Professional Access2000
No.4ベストアンサー
- 回答日時:
#2で書き忘れましたが、専用回線の速度によっては#2の(1)-1でも十分いけると思います。
業務の終了後あるいは忙しくない時間にテストを行い、検討すると良いと思います。100MBのデータをコピーするのにかかる時間などはその専用回線の速度に影響を受けます。例えば専用線の速度が光レベル(100Mbps)で、ネットワークが100BaseTなどで構成されていれば特に問題ありません。逆に専用線の速度が(128Kbps)程度だったり、ネットワークが10BaseTで構成されていると厳しい可能性はあります。
差分だけがコピーされるかどうかは、処理方式次第ということになりますね。業務の形態とB 拠点で参照がどのように行われるかによって処理方式を決定します。
例えば参照するのに全てのテーブルのデータを必要とする場合には100MB全てのデータがどうしても必要ですね。この場合にはそのように設計せざるを得ません。ただし一度コピーしたあとにコピーしたデータを利用するということは可能です。
ですから A 拠点側でデータが更新されない時間帯を把握しそれに応じた設計を行う必要があるのです。
逆に一部のテーブルで良ければそのテーブルだけのコピーで済みます。
それから私は使ってませんが、SQL Server 2000にはレプリケーションという機能があります。これはデータベースを複製する機能ですが、これを使用した方がより良い結果を得られるかもしれません。つまりTOME3さんが言われる差分コピーに近いことができるかと思います。この場合には、やはり A拠点での業務が終了あるいは忙しくない時間帯にデータベースの同期をとるなどの配慮が必要でしょう。
参考になりましたでしょうか?
driverIIさん ありがとうございました。
よく理解できました。
SQLServerのレプリケーションについて少し調べてみます。
ありがとうございました。
TOME3
No.3
- 回答日時:
業務の状態がTOME3さんほど分っていないので、
回答という形ではなく、経験などからのアドバイスとさせてもらいます。
サーバがおいてある会社を A 拠点とします。
データを参照したい B 拠点とします。
(1) データをA 拠点においたまま、B 拠点からそのまま参照しようとした場合、SQLで問い合わせを行う度に、その要求と結果セットがネットワーク上を行きかいます。この時、その結果セットの内容により再度SQLで問い合わせするということを行うと、膨大な量のデータになり障害の原因になります。
(1)-1 A 拠点にストアードプロシージャという処理手順(SQL 等で記述)を作成し、B 拠点からその実行と結果セットの受け取りという形にすると(1)はかなり改善されます。
(2) B 拠点にSQL Server 2000 Personal Edition 等を導入し(以後B側サーバ)、 A 拠点と同様のDBを構築しておきます。B拠点で参照動作を行う前に、A 拠点から B 拠点へ必要なテーブルのデータをコピーして、その後B側サーバに対し参照動作を行うことで、 A拠点のサーバへの負荷が減りネットワーク上を行きかうデータも減少します。
以上のようなことから、(2)のようにB側サーバを導入し、B側サーバに対しストアードプロシージャを作成するのが良いといえます。
あくまでも考え方です。実際の業務の形態によってだめな場合もあります。
(2)でコピーした後にA拠点側のデータが更新された場合には、求める内容と結果が違うなどと現象が起こる可能性があります。
例えばA拠点側の業務でデータが更新されるのが18:00までと決まっている場合には、18:00過ぎにB拠点側で参照すれば常に求めた結果が得られます。
ながくなりそうなのでこの辺で(^^
driverIIさん ありがとうございます。
なるほど、拠点にサーバーを導入する方法もあるのですね。
大変参考になりました。
ところで、サーバー間でデータをコピーする場合、差分だけがコピーされるのでしょうか?
例えば100MBのデータ全てを毎回コピーするとネットワークに負担がかかるのでは・・?
初心者なもので、変な質問してすみません。^_^;
TOME3
No.2
- 回答日時:
・・・支店間でPCを接続することが禁止されているのであれば駄目でしょう。
許可を取る根回しなどが必要なのではないですか?
支店側で SQLServer2000PersonalEdition などをインストールして支店側にサーバを作り必要なタイミングでデータをメインサーバから持ってきて、そこのデータを使う方法などがありますが・・・
質問からすると十分な通信速度(あるいは帯域)がないような印象を受けます。もう少し詳しい情報がないとこれ以上つっこんで回答できません。例えばデータの量とか、Access2000での処理方法とか・・・
もし十分な準備なく実行しようとした場合、業務を止めるような事になりかねません。
1. SQLServerのデータ利用法は間違っているのでしょうか?
間違ってません。が、処理方式には注意を要します。
2.SQLServerのデータを支店間で利用するには、どんな方法が良いのでしょうか?
データの量と、通信回線の状況、データの利用形式(参照のみか、更新も含む)などによります。
driverIIさん、ご返信ありがとうございます。
システム部から、トライアル使用してよいと仮許可をもらいました。
今のところ問題は発生していません。
通信回線の状況ですが、ネットワーク上に約1,000台のPCが存在しています。
各支店共通のサーバーが数台(メール、AS400、etc)。
(内線電話以外でネットワークに異常が発生したことはないです。速度的にも問題ないと思います。)
データは、10個のテーブルに約4万件ずつデータが保管されています。(100MB)(支店のSQLサーバー)
検索方法は、検索項目をSQL文のANDで結合して検索します。
検索結果の一覧を作りその中から選択したレコードを表示印刷します。
データの利用は参照のみです。
SQLServerのデータを支店間で利用するより良い方法(ネットワークにあまり負荷をかけない)がありましたら、
教えてください。ヒントだけでも結構です。勉強します。宜しくお願い致します。
TOME3
No.1
- 回答日時:
わかる範囲でコメントします。
少なくとも、ODBCとAccess(MDB/MDEなら)は止めた方が方がよいでしょう。
フロントエンド部分はVB6.0(枯れていると思うので、あえて.NETより6.0を
推奨します)を、DBアクセスミドルウェアにはADO + OLEDBを使用した方が
よいと思います。
AccessのADPなら、MDB/MDEよりベターな選択肢かもしれませんが、コーディ
ングは大幅に変更となります。(どうせ変更するなら、VBで作った方が・・・)
その他、留意点としては、DBサーバで可能な処理はストアドプロシージャに
記述することでしょうか?
あまり自信がないので、他の人のフォローを希望。(^人^;
nanashinogombei さん
ご返信ありがとうございます。
ODBCとAccessの組み合わせはあまりお勧めではないのですね。
もう少し他の方の意見を待ちたいと思います。
ありがとうございました。
TOME3
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- その他(コンピューター・テクノロジー) DHCPサーバーについて、、、。 職場のネットワーク環境で困っています。サーバーはWindows s 3 2023/01/04 10:15
- 格安スマホ・SIMフリースマホ 今 ahamoを使っていて 4898円以下になる携帯会社があれば乗り換えたいです 20GBと24時間 9 2022/09/27 07:43
- 医療 自立支援医療利用中の転院 1 2023/07/12 09:16
- その他(Microsoft Office) 重複データを一つにまとめたい 4 2023/04/17 16:30
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- iPhone(アイフォーン) iPhone13をメルカリで15万で買い、4ヶ月は使えていましたが、先日、急にブラウジングも通話も出 5 2022/08/22 20:19
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- その他(ネットショッピング・通販・ECサイト) BASEで購入した商品の支払いに楽天ポイントは使用できるか 1 2023/02/25 17:04
- 格安スマホ・SIMフリースマホ 1円スマホ。 携帯ショップで、 UQモバイルで1円スマホ〔Android)があるのを知り、検討中です 5 2022/10/14 18:47
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
Sqliteで使えない文字。
-
ACCESSのデータをWebブラウザで...
-
SQLServerのDBのうちテーブルを...
-
ACOSのRDBについて教え...
-
PL/SQLで複数のFor文を解除したい
-
ACCESS2010 Excelエクスポート ...
-
業務用のデータベースサーバー...
-
別サーバーへのデータの同期更...
-
会社の諸事情により全システム...
-
【DB】同じトランザクション内...
-
DATファイルをEXCELで開きたい
-
postgresql についてです
-
accessの処理が遅い
-
ログファイルの圧縮がされずに...
-
PCが悪くなって新しいPCにSSMS...
-
エクセルのフィルタ抽出が固まる
-
ファイルの存在チェック
-
マスタメンテとは?
-
32ビット版Officeで作成64ビッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのデータをWebブラウザで...
-
業務用のデータベースサーバー...
-
MS-Accessのエクスポートで異常...
-
1回目の実行に3分、2回目の実行...
-
Sqliteで使えない文字。
-
accessの上限容量2Gでは容量が...
-
ACCESS2010 Excelエクスポート ...
-
SQLServerのDBのうちテーブルを...
-
SSMSEを使ったクエリ結果をエク...
-
暗号化したDBのデータ移行
-
別サーバーへのデータの同期更...
-
SQL文で、重複データの上書きは...
-
ACCESSのクエリからORACLEのDB...
-
SQL ServerにExcelをリンクさせ...
-
oracleデータベースの更新履歴
-
データファイルに書き込まれる...
-
DB2 双方向でのレプリケーショ...
-
ACOSのRDBについて教え...
-
AccessのLANでの共有
-
オンメモリデータベースとは?
おすすめ情報