お気づきのように、階層型オブジェクト ストア (HOS) はコンテンツ データベースではなく、構成データベースに格納されています。
中央管理者以外のサイトのコンテキストで実行している場合、アプリケーション プールが使用するユーザー アカウントには、構成データベースへの書き込み権限がない可能性があります。
おそらく開発者のインストールではこれが表示されないため (ネットワーク サービスのみで、アプリケーション プールのドメイン レベルのアカウントでセットアップすることはないでしょう)、これはちょっと厄介です。生産へ。
注 - SPSecurity.RunWithElevatedPrivileges を使用しても、これは変更されません。これは、制限されたユーザー アカウントから中央管理アプリ プール アカウントではなく、アプリケーション プール アカウントに昇格するだけだからです。
アプリケーション状態の管理の記事では、オプションの内訳を示し、HOS について述べています。
セキュリティ モデル - ユーザーが関連する SharePoint オブジェクト (SPFarm や SPWebApplication など) にアクセスするには、管理者権限が必要です。
これらの理由から、HOS は現実世界での使用が非常に限られていると思います。Farm/WebApp/Site および List レベルで設定を保存できる Property Bag Storage モデルを使用することをお勧めします:-
利点 - すべての構成ストレージ オプションの中でおそらく最も軽量で使いやすいです。
また、パフォーマンスと安定性の向上も報告されています。
実際、MSDN SharePoint Guidance Libraryは、階層構成マネージャーの実装にもプロパティ バッグ ストレージを使用しています。