none
データベースの運用について RRS feed

  • 質問

  • データベースの運用についての質問です。

     

    サーバー機にSQL Server 2005をインストールされています。クライアント側の

    A社、B社、C社のそれぞれの会社が自社のデータベースにアクセスします。

     

    1.SQL Server 2005は1つだけインストールし、データベースを

      A社用、B社用、C社用

      と新規データベースから作成します。

     

    2.SQL Server 2005をA社用、B社用、C社用と複数インストールします。 

      (インスタンス名を変えてインストールします)

     

    1.と2.のどちらで通常運用するのが良いでしょうか?

    (例は、3社ですが100社以上あります)

     

    1.の場合が良いのでしたら、A社のデータベースは、他社のB社、C社から見られたくありません。

    その場合の設定はどのようにするのでしょうか?

     

    ご教授のほど、よろしくお願いいたします。

     

    2008年5月30日 14:20

回答

  • 1.でも2.でも実現は可能です。あとはセキュリティや運用面、コストなどを考慮して決めるしかないでしょう。

     

    1.の場合

    一つのインスタンスにアクセスが集中する。また、設定によりデータベースをそれぞれの専用とするため、設定ミスがあると他社にアクセス可能な状態になってしまう。数社ならまだ良いが、100社となるとかなり気を使いそう。

    この場合の設定方法としては、各社毎にログインユーザーを作成し、それを各社のデータベースのユーザーにマッピングします。

     

    2.の場合

    大量のインスタンスが生成される。どの程度のマシンで耐えられるか不明。インスタンスが各社毎に独立しているため、安全性は1.より高い。

     

    各社からどの程度アクセスがあるかわかりませんし、いずれにしてもどのように使われるかを想定し、テストしてみないと何とも言えないと思います。

    2008年6月1日 12:26
  •  V5 さんからの引用

    1.の場合ですが、”各社毎にログインユーザーを作成し”の意味ですが、SQL Sever Management Studio で、セキュリティのログインから新しくログインを追加でよいでしょうか?


    OKです。

     

     V5 さんからの引用

    そのとき、Windows認証、SQL Server 認証のどちらが良いでしょうか?

    よく知られているようにWindows認証が推薦されています。SQL Server認証がWindows認証に比べてセキュリティ面で弱いのが理由です。具体的には、一般的にアプリケーションに平文でパスワードを記述するのでパスワードが盗まれやすくなる、ブルートフォースアタックに対してロックアウトする仕組みがない、パスワードにポリシーを設定できない、ネットワーク上を流れるパスワードを解読される危険があるという情報がある などが理由です。

     

     V5 さんからの引用

    また、”各社のデータベースのユーザーにマッピングします”の意味ですが、SQL Sever Management Studio で、データベースのセキュリティのユーザーから新しくユーザーを追加でよいでしょうか?

    OKです。そのデータベースユーザーにログインユーザーをマッピングします。

    2008年6月2日 16:08

すべての返信

  • 1.でも2.でも実現は可能です。あとはセキュリティや運用面、コストなどを考慮して決めるしかないでしょう。

     

    1.の場合

    一つのインスタンスにアクセスが集中する。また、設定によりデータベースをそれぞれの専用とするため、設定ミスがあると他社にアクセス可能な状態になってしまう。数社ならまだ良いが、100社となるとかなり気を使いそう。

    この場合の設定方法としては、各社毎にログインユーザーを作成し、それを各社のデータベースのユーザーにマッピングします。

     

    2.の場合

    大量のインスタンスが生成される。どの程度のマシンで耐えられるか不明。インスタンスが各社毎に独立しているため、安全性は1.より高い。

     

    各社からどの程度アクセスがあるかわかりませんし、いずれにしてもどのように使われるかを想定し、テストしてみないと何とも言えないと思います。

    2008年6月1日 12:26
  • 1.の場合ですが、”各社毎にログインユーザーを作成し”の意味ですが、SQL Sever Management Studio で、セキュリティのログインから新しくログインを追加でよいでしょうか?そのとき、Windows認証、SQL Server 認証のどちらが良いでしょうか?また、”各社のデータベースのユーザーにマッピングします”の意味ですが、SQL Sever Management Studio で、データベースのセキュリティのユーザーから新しくユーザーを追加でよいでしょうか?

     

    2008年6月2日 10:27
  •  V5 さんからの引用

    1.の場合ですが、”各社毎にログインユーザーを作成し”の意味ですが、SQL Sever Management Studio で、セキュリティのログインから新しくログインを追加でよいでしょうか?


    OKです。

     

     V5 さんからの引用

    そのとき、Windows認証、SQL Server 認証のどちらが良いでしょうか?

    よく知られているようにWindows認証が推薦されています。SQL Server認証がWindows認証に比べてセキュリティ面で弱いのが理由です。具体的には、一般的にアプリケーションに平文でパスワードを記述するのでパスワードが盗まれやすくなる、ブルートフォースアタックに対してロックアウトする仕組みがない、パスワードにポリシーを設定できない、ネットワーク上を流れるパスワードを解読される危険があるという情報がある などが理由です。

     

     V5 さんからの引用

    また、”各社のデータベースのユーザーにマッピングします”の意味ですが、SQL Sever Management Studio で、データベースのセキュリティのユーザーから新しくユーザーを追加でよいでしょうか?

    OKです。そのデータベースユーザーにログインユーザーをマッピングします。

    2008年6月2日 16:08
  • よく理解できました。あとは、データベースの権限の許可を設定してあげればよいのですね。

    とりあえず、エンドユーザーにより安く、提供してあげようと思いますので、

    1番の方向で考えようと思います。

    もやもやの霧がとれてきました。

     

    ありがとう、ございました。

    • 回答としてマークされていない 高橋 春樹 2010年2月22日 1:20
    2008年6月2日 19:30