we are planning to replicate database for reporting purpose and we need to restrict data based on companyID'
we are not supposed to replicate any data that is greater than companyID five.(campanyid >5)
we have total of 50 tables and out of which companyID exists on 30 tables and I can easily apply row filter to filter the data by companyID >5 on these tables but the other 20 tables doesnt have companyid but those tables have information of all companies.
What is the best way to replicate other 20 tables data without sending restrcited data? I do have a way to get data of companies <5 but I need to apply multiple joins depending on tables.
As I cant apply joins with other tables at row filter level ,what are my possible options?
I thought of following but not sure if they are possible
1) alter the default I/D/U procedures by joining them with other tables to only replicate required data.
I am not sure if above option works but wondering how I can generate intial snaphot with this solution.
Planning to create functions and use at row filter level but not sure if I can use functions at row filter level in replication. Yet to test this solution
3) replciate all data to reporting system and create views in top of tables to restrict data.
I dont think its a ideal solution but I just thought of it..
Please advice if you think of any better solution...
any advice is really appreicated...