Unless DB_CHAINING
is set to true
for all 3 databases, you should give the SELECTSELECT
permissions on the underlying tables.
In case you set DB_CHAINING
to true
, all 3 owners of these databases are the same and all 3 objects have the same owner (for now it's not true in your design because your tables are owned by dbodbo
and view is owned by vdrvdr
) permissions on the underlying tables will not be checked due to Ownership Chaining
ForTo make ownership chaining work in your case you should do the following:
use Reporting; go alter authorization on schema::vdr to dbo;
Run:use Reporting; go alter authorization on schema::vdr to dbo;`
set db_chaining
db_chaining
to true on all 3 datbasesdatabases:use master;
go
alter database Reporting set db_chaining on;
alter database DatabaseA set db_chaining on;
alter database DatabaseB set db_chaining on;use master; go alter database Reporting set db_chaining on; alter database DatabaseA set db_chaining on; alter database DatabaseB set db_chaining on;
check owners of all 3 databases and if it's not the same change it to the the same login using
alter authorization on database::yourDB to yourLogin
alter authorization on database::yourDB to yourLogin