Tôi đang sử dụng phiên bản SQL Server 2008 Express.Làm cách nào để cấp một vai trò cơ sở dữ liệu thực thi quyền trên lược đồ? Tôi đang làm gì sai?
Tôi đã tạo Đăng nhập, Người dùng, Vai trò và Giản đồ. Tôi đã ánh xạ người dùng tới thông tin đăng nhập và gán vai trò cho người dùng.
Giản đồ chứa một số bảng và thủ tục được lưu trữ.
Tôi muốn Vai trò có quyền thực thi trên toàn bộ lược đồ.
Tôi đã thử cấp quyền thực thi thông qua studio quản lý và thông qua nhập lệnh trong cửa sổ truy vấn.
GRANT EXEC ON SCHEMA::schema_name TO role_name
Nhưng Khi tôi kết nối với cơ sở dữ liệu sử dụng phòng thu quản lý SQL (như tên đăng nhập Tôi đã tạo ra) trước hết là tôi không thể nhìn thấy các thủ tục lưu trữ, nhưng quan trọng hơn tôi nhận được một lỗi cho phép từ chối khi cố gắng chạy chúng.
Quy trình được lưu trữ trong câu hỏi không có gì ngoại trừ chọn dữ liệu từ một bảng trong cùng một schma.
Tôi đã cố gắng tạo ra các thủ tục lưu trữ có và không có dòng:
WITH EXECUTE AS OWNER
này không thực hiện bất kỳ sự khác biệt.
Tôi nghi ngờ rằng mình đã tạo ra lỗi khi tạo giản đồ của mình hoặc có vấn đề về quyền sở hữu ở đâu đó, nhưng tôi thực sự đang gặp khó khăn để làm việc gì đó.
Cách duy nhất tôi đã quản lý thành công để thực hiện các thủ tục được lưu trữ là cấp quyền kiểm soát cho vai trò cũng như thực thi, nhưng tôi không tin đây là cách chính xác, an toàn để tiếp tục.
Mọi đề xuất/nhận xét sẽ thực sự được đánh giá cao.
Cảm ơn.
Bạn có cấp quyền thực thi cho người dùng mà bạn đã tạo cho Sproc không? –