Saya telah membuat aplikasi C# yang membaca file konfigurasi, mendapatkan string koneksi, dan untuk setiap string koneksi ia membaca daftar proc yang disimpan untuk beberapa pemrosesan lebih lanjut. Sekarang, saya menghadapi beberapa masalah izin. Saat mengembangkan aplikasi saya menggunakan string koneksi dengan pengguna tingkat dbo. String koneksi kehidupan nyata ditujukan untuk pengguna sql dengan hanya izin pembaca data dan penulis data, tetapi ketika saya menjalankannya
select user_name(uid) as owner, name from dbo.sysobjects where type='P' order by name asc
untuk mendapatkan daftar procs menggunakan pengguna seperti itu, kueri tidak mengembalikan catatan (meskipun ia mengembalikan procs jika saya mengeksekusi sebagai dbo)
Saya tidak ingin memberikan izin tambahan kepada pengguna dalam string koneksi untuk alasan keamanan, jadi pertanyaan saya adalah - bagaimana pengguna yang hanya memiliki izin pembaca data/penulis data mendapatkan daftar proses yang disimpan, atau jika tidak memungkinkan, berapa minimalnya? izin yang harus dimiliki pengguna untuk memiliki akses ke info itu?
Saya menggunakan SQL Server 2008
sys.procedures
daripada sysobjects yang tidak digunakan lagi. Lihat dokumen MSDN di sysobjects di sini: msdn.microsoft.com/en-us/ perpustakaan/ms177596.aspx - person marc_s   schedule 06.02.2010