開発環境のクライアントがDW SQL 2K8R2
プロセスを表示して強制終了できるようにする必要がありますが、この人には許可したくありませんVIEW SERVER STATE
(彼は元 SQL データベース管理者であり、潜在的な内部脅威と見なされています)。
以下を実行すると、ユーザーが現在の権限で sp を実行したかのように 1 行が返されます。
USE [master] GO
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
CREATE PROCEDURE [dbo].[usp_who] with execute as owner AS BEGIN SET NOCOUNT ON; exec master.dbo.sp_who; END
「with execute as」を「self」に変更しても(私はシステム管理者です)、同じ結果が返されます。を呼び出す代わりに以下も試しましたが、sp_who
1行しか返されません。
select * from sysprocesses プロシージャの実行中、コンテキストが切り替えられていない、または持続していないようです。そして、これは、この人がプロセスを「殺す」ことをどのように許可するかについては言うまでもありません。
この一見ユニークな問題に対する解決策や提案はありますか?