We have two SQL Server application databases which currently share data via a point to point SQL Query (a pull from A to B). This SQL, running in database B, is used to periodically extract, transform and load data from a number of tables in database A into tables in B; effectively implementing a number of business rules in the process. Unfortunately, this process is very fragile with loads frequently failing, very little auditing etc resulting in endless tweaking of the SQL Script. Long story short we are looking for other ways to implement the data integration between these two databases.
One of the things we are looking at is to use SSIS to periodically load data from Database A into Database B. We already use SSIS to extract data from Database A to a Data Warehouse where it is used for querying, analytics etc. The data here is almost identical to the ETL we would do for the integration between A and B.
My question is, what is good practice in this situation? Could we re-use the Data Warehouse as a point of integration for B (i.e. pull data from the Data Warehouse to B) or is this bad practice making the Data Warehouse part of the integration architecture of the company?