Unless DB_CHAINING
is set to true
for all 3 databases, you should give the SELECT
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 dbo
and view is owned by vdr
) permissions on the underlying tables will not be checked due to Ownership Chaining
To make ownership chaining work in your case you should do the following:
Run:
use Reporting; go alter authorization on schema::vdr to dbo;`
set
db_chaining
to true on all 3 databases: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 same login using
alter authorization on database::yourDB to yourLogin