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

SQL grant dieksekusi pada banyak objek

Anda tidak dapat menggunakan karakter pengganti - Anda harus memberikannya kepada semua objek (atau semua objek dalam skema) - atau Anda harus membuat daftar semua objek satu per satu.

Apa yang mungkin Anda lakukan adalah seperti ini - minta SQL Server membuat pernyataan tersebut untuk Anda:

SELECT
   p.Name,
   GrantCmd = 'GRANT EXECUTE ON OBJECT::' + p.name + ' TO [domain\user]'
FROM sys.procedures p
WHERE p.Name LIKE 'XU%'

Kueri ini akan mencantumkan semua prosedur yang dimulai dengan XU dan buat kolom yang berisi GRANT EXECUTE ON .... pernyataan untuk prosedur itu.

Jalankan ini di SQL Server Management Studio, lalu salin GrantCmd yang dihasilkan kolom, tempel ke jendela baru, dan jalankan di sana.

Dan jika Anda benar-benar ingin mengotomatisasi ini, Anda juga dapat mengubah kueri ini menjadi kursor dan kemudian menggunakan SQL dinamis untuk secara otomatis mengeksekusi GrantCmd yang dihasilkan pernyataan....




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghasilkan kode sql secara terprogram

  2. Trik untuk Peningkatan Pemantauan Basis Data Berkelanjutan

  3. Antarmuka Jaringan SQL Server:String koneksi tidak valid [87]

  4. penambahan tanggal dalam fungsi sql

  5. Tetapkan lokasi kerja secara acak dan setiap lokasi tidak boleh melebihi jumlah karyawan yang ditunjuk