Nasıl SQL Server 2005'te sysprocesses sınırlı erişim verebilirim?

oy
0

Aşırı engelleme izlemek için bazı ilkel SQL Server izleme uygulamak.

Şöyle bir saklı yordam var:

CREATE PROCEDURE [dbo].[bsp_GetBlockedProcessCount]
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @count INT

    SELECT @count = COUNT(*)
    FROM master.dbo.sysprocesses WITH (NOLOCK)
    WHERE blocked > 0

    RETURN @count
END

Ben bir yönetici bağlamında bu yürütmek, ben doğru cevabı olsun. Ben sınırlı ayrıcalıkları (yani web sunucusu) sahip bir kullanıcı bağlamında bu yürütmek, ben bakılmaksızın doğru cevabın sıfır olsun.

Birkaç çözümleri düşünebilirsiniz ama bunların hiçbirini mutlu değilim:

  1. Ben kullanıcıya GÖRÜNÜM SERVER DURUM ayrıcalıkları verebilirsiniz ama bu kullanıcının sahip olması gereken şekilde daha izin verilmiştir:

    GRANT VIEW SERVER STATE TO [Webserver]
    
  2. Bir SQL işinden proc çalıştırın ve almak için web sunucusu için bir yere sonuçları koymak ama bu dağınık ve karışık.

  3. Deneyin ve web sunucusu bu deme!

Daha iyi bir çözüm olduğuna eminim. Baska öneri?

Oluştur 09/12/2008 saat 20:59
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
0

Ben birinci elden cevapları bilmiyorum sevindim :) ama birlikte oynamış execute as ve kullanıcı arasında geçiş geri dönülsün

Ama burada başlamak 2 iyi bağlantılar

Geri DÖNDÜRME maddesini kullanarak SQL Server Depolanmış Yordam Yürütme Bağlamını Switching

özet: Eğer DBA, o sonra geri dönmek demek gibi kullanıcı kimliğine bürünmek için hibe

http://www.mssqltips.com/tip.asp?tip=1579

Procedure aracılığıyla İzinlerini verilmesi

özet: ı Bütünü okumak için tembel

http://www.sommarskog.se/grantperm.html

Cevap 09/12/2008 saat 21:21
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more