Saya memiliki pertanyaan tentang Jenis Tabel yang Ditentukan Pengguna di SQL Server 2008.
Untuk kebutuhan salah satu aplikasi ASP.NET, kami menetapkan jenis tabel kami sendiri di SQL Server 2008 untuk menggunakannya sebagai parameter dalam prosedur tersimpan (saat menjalankan perintah sql di aplikasi ASP.NET, kami meneruskan objek DataTable sebagai parameter untuk prosedur tersimpan lihat di sini untuk contoh )
Masalahnya adalah ketika kita menjalankan perintah Sql (menjalankan prosedur yang tersimpan) dari ASP.NET kita mendapatkan kesalahan:
Izin EXECUTE ditolak pada objek 'ourTableType', database 'ourDatabase', skema 'ourSchema'.
Mengapa demikian? Mengapa kita perlu mengatur izin pada tipe tabel yang ditentukan pengguna? Mengapa tidak cukup hanya mengatur izin pada prosedur tersimpan yang menggunakannya? Dan jika kita harus mengaturnya tidak peduli apa, mengapa tidak ada EXECUTE
jenis izin untuk set di jendela properti apapun (saya hanya dapat melihat Control
, References
, Take Ownership
, View Definition
)?
Yang juga tidak saya mengerti adalah bahwa mengatur izin ke Control
dalam jendela properti memecahkan masalah dan prosedur tersimpan berjalan tanpa masalah.