Windows (全般)

Windows OS 全般に関する話題を扱うフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro)
自宅から社内のSQL Serverにアクセスしたい
投稿日時: 22/03/04 07:48:31
投稿者: yamasho

お世話になります。
 
バックエンドSQL Server、フロントエンドAccessで、ワークグループ環境です。
社員の自宅から、社内のSQL Serverにアクセスしたいです。
 
セキュリティの問題は置いといて、どんな方法があるでしょうか?
 
よくわかりませんが、VPNを使う方法とか、
SQL Serverを社内に置くのではなくAzureを利用するとか、
こんな方法あるよ、とご意見をお願いします。
 

回答
投稿日時: 22/03/04 08:59:25
投稿者: Suzu

引用:
セキュリティの問題は置いといて、どんな方法があるでしょうか?

 
引用:
バックエンドSQL Server、フロントエンドAccessで、ワークグループ環境です。
社員の自宅から、社内のSQL Serverにアクセスしたいです。

引用:
SQL Serverを社内に置くのではなくAzureを利用する

 
Azure これは、クラウドサービスであり、社内 のSQLServerではありません。
質問の前提条件が変わっています。
社員の自宅から、フロントエンド Access、バックエンド SQLServer が前提?
 社内の自宅のPCに Access インストールされているのですか?
 
WEB経由かつ、SQLServer なら、サーバーサイド処理 を行う前提の方が良いと思いますが
Access2010 までの ADPが開発は楽ですが 今の Access には無い
Azure で良いなら、Access を選択肢から外す事も有りと思うのですが。
(Azure は 使ったこと無いですが、のサーバーサイド処理 を前提とした
  フロントエンド 用の サービスもあるのでは?)
 
前提条件を明らかにした方が良いです。

投稿日時: 22/03/04 18:55:11
投稿者: yamasho

お世話になります。
 
SQL Serverが社内にあるもので、
Azuruがクラウドサービスというのは
存じ上げております。
 
SQL ServerをやめてAzureに移行することも
検討材料の一つです。
 
先ほど、VPNを利用して社内LANに入ってみました。
それでAccessのテーブル(SQL Serverのリンクテーブル)を開こうとしたら
エラーになってしまいました。
 
ODBCの接続文字?を変えなくてはいけないようです。
 
そこでバックエンドMDBファイルのリンクテーブルを開こうとしたら、
かなり時間がかかって使えるレベルではありませんでした。
VPNはあきらめました。
 
ほかにこんな方法があるというご意見があればお願い致します。
 
前提条件は、自宅からフロントエンドのAccessでデータベースを操作したい、
です。

回答
投稿日時: 22/03/04 22:47:55
投稿者: eden

社内のPCにAccessを入れておいて、自宅からそのOPCをリモート操作する

投稿日時: 22/03/05 10:25:49
投稿者: yamasho

お世話になります。
 
リモート操作する、ということでしょうか?
ありがとうございます。
 
その他にもこんな方法あるよ、
とご意見いただければ。
 
 

回答
投稿日時: 22/03/05 22:20:04
投稿者: eden

引用:
セキュリティの問題は置いといて、どんな方法があるでしょうか?

 
前提を見ると複数人での更新は記載がないので、
いっそのこと自宅にデータをおく。
無償版のexpressでサーバーをたてる。

回答
投稿日時: 22/03/07 09:23:27
投稿者: Suzu

外出先でも社内のデータベースを編集・参照したい
https://www.moug.net/faq/viewtopic.php?t=81051
の続きでしょうか?
 
であるなら、複数人同時編集もあり得るのですよね?
 
 
遠隔地接続 で、リンクテーブルでの接続が前提なら、辞めましょう。
リンクテーブル接続では、極端な話、参照テーブル全てのレコードを取得してから画面に表示されます。
 
Accessや、SQLServerの テーブル/クエリに対しリンクテーブルを設定し、WHERE句を指定したとしても、
全レコードを、クランアント側に取り込み、クランアント側でWHERE句に該当するレコードを抽出する処理をします。
 
対し、SQLServer の良いところは、
WHERE句 を指定した SQLをサーバーに投げると WHERE句に合致したレコードのみを
クライアント側に返す事が可能です。
  ストアドプロシージャ や、サーバーサイド処理がそうです。
 
 
リンクテーブルの場合、テーブルの全レコードがネットワーク上を流れます。
レコード数が多ければ多いほど 全レコードが通信終えるまでの時間が掛かる事になります。
対し、サーバーサイド処理は、WHERE句 にて抽出されたレコードのみがネットワークを流れます。
 
テーブルのレコード数が多くなった場合、
リンクテーブルでは ユーザーとしては苛立つシステムにしかならないでしょう。
 
 
フロントエンド に Accessを使うにしろ、Excelや他のアプリケーションやサービスを使用するにしろ
サーバーサイド処理を前提にシステム設計を行いましょう。
 (ストアドを使うなら、Access/Excel なら、VBAは使う事になるでしょう
   ADPなら使わなくて良かったのですがね。)
 
 
その点、リモートデスクトップ であれば、リモート先からデータベースに接続する事になりますから
データベースと近い位置であれば、リンクテーブルでも使い物にはなるかもしれません。
(もっとも、複数人同時編集の Accessでは 速度的に 同時接続は 2〜3人が限界でしょう)
VBAを使わなくても 良いですし。
 
 
 
P.S.
放置のスレッドが多くあります。
始末はつけましょう。
https://www.moug.net/faq/viewtopic.php?t=80953
https://www.moug.net/faq/viewtopic.php?t=80978
https://www.moug.net/faq/viewtopic.php?t=80979
https://www.moug.net/faq/viewtopic.php?t=81019
https://www.moug.net/faq/viewtopic.php?t=81055
https://www.moug.net/faq/viewtopic.php?t=81199

投稿日時: 22/03/14 07:12:13
投稿者: yamasho

お世話になります。
 
はい、シスアドプロシージャを使うつもりではいました。
実際にはシスアドプロシージャは使ったことないので、
つまずいたときはまたお世話になります。
 
ありがとうございました。
 
過去の質問、失念しておりました。
一応、放置がないか検索はしたのですが、
見つけられなかったもので。
 
検索の仕方がまずかったようです。
失礼しました。