Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Izin apa yang saya perlukan untuk menggunakan Parameter Bernilai Tabel SQL Server (TVP) sebagai parameter proc yang disimpan?

Agar penelepon menggunakan PROC dengan parameter bernilai tabel, Anda harus (secara tidak sengaja) berikan izin eksekusi di TVP ketik untuk mereka yang memanggil PROC yaitu

GRANT EXECUTE ON TYPE::[schema].[MyTVP] to [SomeRole]

Sunting

Saya yakin saya dapat mereplikasi masalah, yaitu bekerja dari serangkaian izin minimal yang diberikan kepada pengguna. Langkah penting adalah agar DBO atau Pemilik Skema TVP Anda memberi Anda akses berikut ke sana, agar dapat menggunakannya dalam PROC (tanpa akses ini, saya dapat mendeklarasikan variabel longgar dari tipe TVP, tetapi tidak menggunakannya dalam PROC).

GRANT REFERENCES ON TYPE::[schema].[MyTVP] to YOURROLE -- Or User.

Berikan Referensi di sini (Jelas Anda juga memerlukan CREATE PROCEDURE izin, ditambah akses yang relevan ke objek apa pun yang digunakan dalam PROC)

Konsumen PROC juga harus memiliki GRANT EXECUTE izin pada Proc dan pada Jenis sesuai jawaban awal.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menemukan Lokasi File Default untuk File Data dan File Log di SQL Server

  2. Masukkan Gambar PictureBox ke dalam database Sql Server

  3. CEILING() Contoh di SQL Server

  4. Log Transaksi SQL Server — Bagian 2

  5. Penggabungan C# SQLConnection