SQL Server 2005 te 'Mehmet' kullanıcısı için tüm SP lere Execute yetkisini vermek için aşağıdaki T-SQL kodunu çalıştırıp çıkan sonucu copy-paste yapıp çalıştırın:
DECLARE @strUserName sysname
SET @strUserName = 'Mehmet'
SELECT 'Grant exec on [' + Routine_Schema + '].[' + Routine_Name + '] TO [' + @strUserName + ']' FROM Information_Schema.Routines WHERE Routine_Type = 'Procedure'
2 yorum:
Sistemdeki scalar fonksiyonlara ulaşabilmesi için bir kullanıcıyı eklemek zorundaydım. Araştırırken yukarıdaki gibi olabildiği gibi sys.object ile de aynı sorgunun çalışabildiğini gördüm. Ben arattırdığımda ilk açılan sayfalardan birisi burası olduğu için, benim gibi arayanlar faydalansın diye bulduğum çözümleri buraya eklemek istedim.
SELECT 'GRANT EXECUTE ON dbo.' + NAME + ' TO KullaniciAdi'
FROM sys.objects
WHERE TYPE = 'P'
ORDER BY
NAME
Yukarıda yapmış olduğunuz sorgu ile aynı şeyi döndürüyor
SELECT 'GRANT EXECUTE ON dbo.' + NAME + ' TO KullaniciAdi'
FROM sys.objects
WHERE TYPE = 'FN'
sorgusuda bize sclar fonksiyonları listeliyor.
PainKiller paylaşım için teşekkürler.
Aynı sonucun schema eklenmiş halini aşağıdaki sorgu ile alabilirsiniz.
select 'grant exec [' + SCHEMA_NAME(schema_id) + '].[' + name + '] to KullaniciAdi '
from sys.procedures
Yorum Gönder