0

SQL Server で権限を管理する方法がわかりません。SQL Server データベースを提供するホスティングがあります。タイプの問題がan object is blocked発生した場合は、チケットを作成し、そのオブジェクトをブロックしているプロセスを強制終了する必要があることを報告し、管理者が操作を行うのを待ちます。

プロセスを強制終了する権限がありません。あまり待つ必要はありませんが、この種の問題に迅速に対応するために、自分で対応したいと考えています。

質問:

私のユーザーが私が所有しているデータベースに接続されたプロセスのみを強制終了できるように、何らかの方法で強制終了特権を割り当てることは可能ですか?.

これが可能であれば、これがどのように機能するかを知ることは素晴らしいことです。

4

1 に答える 1

1

技術的な答え: はい、可能です。次のようになります。

  • これらはすべてストアド プロシージャに格納されます。おそらく、引数を 1 つ取る必要があります: 強制終了するプロセスです。
  • プロセスが実行されているデータベースを把握します (IIRC が SQL 2012 より前にこれを公開する「公式の」システム DMV がないため、sp_who2 がどのようにそれを行うかを見てください)。
  • そのプロセスのデータベース コンテキストは、所有するものと一致しますか? はいの場合、殺害を許可します。いいえ、しないでください。

proc が作成されたので、sysadmin 権限を持つ人がプロシージャに暗号で署名する必要があります。これにより、強力な処理 (プロセスの強制終了など) を実行できる魔法の力がプロシージャに提供されます。

現実世界の答え: ホスティング会社がそれを考慮しない場合、上記のどれも重要ではありません. そして、そうかもしれないし、そうでないかもしれません。

于 2013-03-31T14:32:25.427 に答える