Tôi có hai cơ sở dữ liệu trên cùng một SQL Server:Làm thế nào để cấu hình một Stored Procedure để truy cập một bảng trong cơ sở dữ liệu khác
Cơ sở dữ liệu Một
- bảng 1
- bảng 2
- sproc x
Cơ sở dữ liệu B
- bảng 3
- bảng 4
- sproc y
- sproc z
tôi muốn cung cấp truy cập user1 đến cơ sở dữ liệu, nhưng chỉ thông qua sự cho phép EXECUTE trên sprocs.
- sproc x thực hiện kết nối giữa bảng 1 & 2 và user1 có thể thực thi.
- sproc y thực hiện phép nối giữa các bảng 3 & 4 và user1 có thể thực thi.
- sproc z thực hiện phép nối giữa các bảng 1 & 4 và user1 không thể thực hiện, trừ khi tôi cấp quyền SELECT cho bảng 1. Tại sao điều này?
Tôi không muốn cấp phép chọn, bởi vì điều này phá vỡ các mô hình bảo mật của "chỉ truy cập vào cơ sở dữ liệu thông qua sprocs"
Nó không được kích hoạt ... Tôi đã kích hoạt cho các cơ sở dữ liệu sprocs của tôi, nơi cố gắng truy cập và nó dường như hoạt động. Cảm ơn! –
Kể từ khi tôi chạy vào điều này với một số cơ sở dữ liệu gần đây, một vài mục bổ sung để kiểm tra.1) Làm cho chủ sở hữu cơ sở dữ liệu giống nhau cho cả hai cơ sở dữ liệu 2) Đảm bảo cùng một người dùng/nhóm tồn tại trong cả hai cơ sở dữ liệu –