Frage replication design

  • Dienstag, 12. Februar 2013 18:43
     
     
    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 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 options 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.

    2)
    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


    Please advice if you think of any better solution...


    any advice is really appreicated...

Alle Antworten