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

Akses baca saja ke konten prosedur tersimpan

Anda dapat memberi mereka VIEW DEFINITION hak istimewa untuk proses tersebut.
Lihat di sini untuk apa hak istimewa ini.

Anda dapat menerapkan VIEW DEFINITION pada cakupan yang berbeda:

  • Server
  • Basis Data
  • Skema
  • Entitas individu (misalnya proc, fungsi, tampilan)

Anda juga dapat menggunakan kueri untuk menghasilkan skrip untuk banyak proses.
Jadi jika Anda memiliki pengguna Bob :

SELECT N'GRANT VIEW DEFINITION ON '
    + QUOTENAME(SPECIFIC_SCHEMA)
    + N'.'
    + QUOTENAME(SPECIFIC_NAME)
    + N' TO Bob;'
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE';

yang akan memberi Anda sesuatu seperti ini, yang kemudian dapat Anda jalankan:

GRANT VIEW DEFINITION ON [dbo].[aspnet_RegisterSchemaVersion] TO Bob;
GRANT VIEW DEFINITION ON [dbo].[aspnet_CheckSchemaVersion] TO Bob;
GRANT VIEW DEFINITION ON [dbo].[aspnet_Applications_CreateApplication] TO Bob;
...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gunakan FILEGROUP_ID() untuk Mengembalikan ID Filegroup di SQL Server

  2. SqlServer:Login gagal untuk pengguna

  3. Bagaimana cara memilih string antara dua string dalam kolom di SQL Server?

  4. Tutorial Surat Basis Data

  5. Temukan string dengan mencari semua tabel di SQL Server