Date: Fri, 23 Aug 2002 21:04:52 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、今晩は
-----Original Message-----
From: kawamura [mailto:who@sub.example.jp]
Sent: Friday, August 23, 2002 9:52 AM
To: who@example.ne.jp
Subject: [ml-msde-beg:00446] データベースには排他モードでアクセスしてい
ませんのエラーについて
>データベースにユーザー(usr1)を作り、そのユーザーでテーブルを
>作成してみました。そのテーブルをデザインモードで開くと
>「現在このデータベースには排他モードでアクセスしていません、
>テーブルの変更内容は保存されません」のようなエラーメッセージが
>出てしまいます。
Access2002で試しましたが、
『データベース所有者またはシステム管理者としてログオンしていません。
所有していないテーブルへの変更は保存できません。』
という警告は表示されますが、接続しているユーザにddladmin権限を
与えておけば、正しくテーブルの作成は可能です。
Accessでは、saログインなどのsysadmin権限を持ったユーザが
テーブル作成などの作業を想定していると思います。
所有者名が省略されたオブジェクトでは、本人が所有していないときは
dboが所有者と仮定されます。
そのため、saログイン以外の一般ユーザがオブジェクトを作成すると、
所有者名がdbo以外になってしまいその管理が煩雑になるため、Access
では、sysadmin以外のユーザがオブジェクトを作成しようとすると、
注意メッセージが出るのでしょう。
小規模なDBであれば、テーブルやビューなどのデータベースオブジェクトは
すべてdboが作成することをオススメします。
>・チェックポイントに達したログを切り捨てるようにします
データベースの破損事故のことを考えると、ログファイルは有効化して
おくことをおすすめします。
またMSDEよりは、MSDE2000を使って下さい。
但し、ログファイルの管理作業が可能であることを条件とします。
>・db_ddladmin ロールに追加し、テーブル作成等を可能にします
>・db_backupoperator ロールに追加し、バックアップを可能にします
セキュリティ設計をしない限り、ddladminやbackupoperatorは
あまり使わないです。
sysadminの管理者が、そのような作業をします。
ただ何らかの理由で、sysadmin権限が与えられないような場合は
そのデータベースのdboユーザが作業を肩代わりします。
dboユーザがどうしても忙しくて作業ができないと言うのであれば
db_ownerロールでも与えたらどうでしょうか?
もちろんセキュリティ設計をして、厳密なユーザ権限管理をするような
場合であれば、様々なロールを活用して下さい。
------------------------------------
(株)日本技術ソフト開発
堀川 明 (Akira Horikawa)
08月23日(金曜日) 21時04分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|