トップページへ PASSJ ブログへ
トップページへ
分科会
特集!
コミュニケーション
資格
セミナー・コンファレンス
インフォメーション
5.dboユーザ

ログインAさんが、Sampleデータベースに接続できるようになりました。
それではAccessプロジェクトからテーブルを新しく作成してみましょう。図11のように、新規作成ボタンを押してください。
図11:テーブルの新規作成処理
図11:テーブルの新規作成処理
ところが、図12のようなエラーメッセージが表示されました。つまり、ログインAさん(Sampleデータベースではユーザ名Aさん)は、 新しいテーブルを作成することができなかったのです。なぜでしょうか。
図12:新しいテーブルを作成することはできない
図12:新しいテーブルを作成することはできない
データベースに、テーブルなどを始めとするデータベースオブジェクトを新しく作成したり、既存のデータベースオブジェクトの内容を変更したりするためには、 セキュリティ的に厳しい検査が行われます。この検査に合格しない限り、データベースオブジェクトの作成や変更操作は許されません。

データベースオブジェクトを作成するのは、そのデータベース本体を作成した人が行うのが一般的です。Sampleデータベースを作成した人は、一体誰でしょうか?
図13:データベースのプロパティを表示する
図13:データベースのプロパティを表示する
図13のようにデータベースのプロパティを選択して、そのプロパティを表示します (図14)。その中にデータベースの所有者名があります。
図14:データベースの所有者が判明する
図14:データベースの所有者が判明する
たとえばSampleデータベースでは、

DBSERVER\akira

となっています。これはDBSERVERコンピュータのakiraというユーザが作成したことを表しています。所有者名の中に¥記号が含まれている場合は、 WindowsNT認証でサーバーに接続をしたことを示しています。
SQL Server認証で接続を行ってデータベースを作成した場合は、図15のように表示されます。 この場合は、saログインでデータベースが作成されたことを表しています。
図15:saログインがデータベースを作成した
図15:saログインがデータベースを作成した
このようにデータベース本体を実際に作成した人は、そのデータベースのdboと呼ばれる特別なユーザ名に自動的に割り当てられます (図16)。dboとは、Database Ownerの略で、データベースの所有者という意味があります。
図16:各データベースの中には、dboユーザが必ず存在する
図16:各データベースの中には、dboユーザが必ず存在する
データベース所有者はそのデータベースの全能権限者です。データベースに対して、新規作成命令や更新命令、削除命令などのあらゆるすべての命令が 許可されていますので、セキュリティ的には何も権限違反は発生しません。このためdboユーザのオペレーション操作に間違いは許されません。 くれぐれも注意してください。

データベースサーバーのSystem Administratorサーバーロールに所属するログイン名は、データベースサーバーに存在する個々のデータベースのdboユーザに 自動的に割り当てられます。このためサーバーに関する仕事だけではなく、個々のデータベースに関する仕事に関しても、セキュリティ的にはフリーパス状態になり、 名実ともにデータベースサーバー全体の全能権限者となります。

Access 2002ではsaログインを使うことが多いわけですが、このsaログインはSystem Administratorサーバーロールに所属しているため、すべてのデータベースの dboユーザに割り当てられ、セキュリティ的にも何ら問題は起こらない最強のユーザです。

<< 前へ次へ >>
◆PAGE LINK  |  |  |  |  |  |  | コラム |  |  |  | 10 | 11 | 12 | 13 | 14 

PASSJメールニュース 著作権ついて プライバシーポリシー リンクポリシー お問い合わせ
(C) 2005 Professional Association for SQL Server Japan. All rights reserved.