stsadm -otractsolutionを使用してアクセス拒否エラーを解決する方法


8

MOSS 2007 SP1を実行する2サーバーファームがあります。私は両方のサーバーのAdministratorsグループのメンバーです。

また、Farm Administratorsグループのメンバーでもあります。

いくつかのソリューションをアップグレードする必要があったので、当然、古いソリューションでstsadmtractsolutionコマンドを使い始めました。コマンドを実行しようとするソリューションに関係なく、「アクセス拒否」が返されます。

幸い、ULSログファイルにはもう少し詳しい情報が記載されています。

System.Data.SqlClient.SqlException:ログインによって要求されたデータベース「SharePoint_AdminContent」を開けません。ログインに失敗しました。ユーザー「*** My Domain Login ***」のログインに失敗しました。

ここで奇妙に思われるのは、SharePointが、構成されたファームサービスアカウントではなく、Windows統合認証を使用してMYアカウントに接続しようとしているという事実です。もちろん、私のアカウントには管理コンテンツデータベースへのアクセス権がありません。

したがって、問題は、管理タスクを実行するために、アカウントに管理コンテンツデータベースへのアクセス許可を付与する必要があるかどうかです。私は間違いなくそう願っていますが、何か他にひどく間違っているのでしょうか?

回答:


11

短い答えは、SQLデータベースに対してSTSADMを介して実行するほとんどのアクティビティについては「はい」です。

(アクションを実行するタスクをスケジュールするのではなく)SharePoint APIに対して直接実行される圧倒的多数のSTSADMコマンドの場合、コマンドが実行されるセキュリティコンテキストは、サインインユーザーです。あなたが引用例で見てきたように、自分のユーザーアカウントのコンテキストが後退するために使用されるものです。SQLで操作を実行するための適切な権限がない場合、(ご覧のとおり)失敗します。

これは、UIを介して実行するほとんどのアクティビティ(つまり、中央管理)とは対照的です。引用した例では、中央管理を介してソリューションを撤回すると、ファーム管理アカウントのコンテキスト内でコマンドが実行されます。これは、そのアカウントが中央管理サイトのアプリケーションプールIDであるためです。結果:関連付けられたデータベースへの権限が(個人的に)ない場合でも、撤回は成功します。

アカウントがSharePointファーム内のデータベースへの管理者レベルのアクセス権を持たないように環境が設定されている場合は、UIを通じてできるだけ多くのアクティビティを実行して、発生しているセキュリティコンテキストの問題の種類を回避することをお勧めします。その方法で必要なほとんどのことを実行できることがわかります。ただし、思い浮かぶ1つの注目すべき例外は、ソリューション(STSADM -o addsolution)をファームソリューションストアに追加することです。STSADMコマンドに対応するUIはありません。

または、MadlyAliveが提案したもの(つまり、ファームサービスアカウントを使用してログインする)と同様のことを行うこともできますが、ファームサービスアカウントのローカル管理者アクセスは、Microsoftによって要求も推奨もされていません。操作を実行するために必要なSQL Server内の最小限の権限セットをアカウントに付与することもできます。

詳細については、http://support.microsoft.com/kb/896148にある MicrosoftのKB記事を参照してください

要約すると、STSADMはアカウントコンテキストを使用し、サーバーの全体管理はファームサービスアカウントコンテキストを使用します。

これが役に立てば幸いです!


良い洞察と情報をありがとう。stsadmがユーザーのコンテキストで実行されるという事実についてあまり考えたことはありません。
アーロンワイカー2009年

Central Admin UIでソリューションを撤回しようとしたときにも同じ問題が発生します。しかし、これはあなたが共有した本当に良い情報です。ここで、SQLサーバーへの適切なアクセスを要求する、非常に長い官僚的なプロセスを開始します。
トレント

「ファーム管理者」グループに追加されたときに、私のアカウントがこれらすべての権限を取得することを期待しています。
vitule

SharePointサーバーの全体管理で "ファーム管理者"グループにアカウントを追加しても、SQL Serverでのそのアカウントの権限にはまったく影響がありません。ファーム管理者になると、(中央管理内で)委任を介してファーム/タイマーサービスアカウントによって代行されるアクションを開始する権利が付与されますが、SQLのユーザーアカウントのデータベースに対するアクセス許可は変更されません。ファーム管理者になるのはSharePoint権限の変更のみで、SQL Serverではありません。
Sean P. McDonough

0

これはコアの問題を回避している可能性がありますが、同様のstsadmコマンドを実行しようとすると

stsadm -o preupgradecheck

Access Deniedも受け取っていました。しかし、管理者としてコマンドプロンプトを実行すると、それを実行できました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.