Bạn không thể sử dụng ký tự đại diện - bạn phải cấp cho tất cả các đối tượng (hoặc tất cả các đối tượng trong một lược đồ) - hoặc sau đó bạn phải liệt kê tất cả các đối tượng một.
Những gì bạn có thể làm là như thế này - hãy yêu cầu SQL Server tạo các câu lệnh đó cho bạn:
SELECT
p.Name,
GrantCmd = 'GRANT EXECUTE ON OBJECT::' + p.name + ' TO [domain\user]'
FROM sys.procedures p
WHERE p.Name LIKE 'XU%'
Truy vấn này sẽ liệt kê tất cả các thủ tục bắt đầu bằng XU
và tạo một cột có chứa GRANT EXECUTE ON ....
tuyên bố cho thủ tục đó.
Chạy điều này trong SQL Server Management Studio, sau đó chỉ cần sao chép GrantCmd
kết quả , dán nó vào một cửa sổ mới và thực thi nó ở đó.
Và nếu bạn thực sự muốn tự động hóa điều này, bạn cũng có thể biến truy vấn này thành một con trỏ và sau đó sử dụng SQL động để tự động thực thi những kết quả GrantCmd
tuyên bố ....