我需要允許客戶端在開發環境DW SQL 2K8R2
環境中查看和終止進程,但我不想授予VIEW SERVER STATE
這個人(他是以前的sql dba並且被認爲是潛在的內部威脅) 。自定義sp_who/sp_whoUsers
當我運行以下內容時,它會返回一行,就好像用戶使用當前權限運行sp一樣。
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
,它只返回一行。
select * from sysprocesses 在整個過程的執行過程中,似乎上下文並未切換或持續。這就是說我怎麼會允許這個人「殺死」進程。
有沒有人有解決方案或一些建議,這似乎是獨特的問題?
這主要是你的[上一個問題]的副本(http://stackoverflow.com/questions/15437168/custom-sp-who-without-granting-view-server-state) – Pondlife 2013-03-19 20:49:29