Hi Mark, Thanks for the great question! I have recently been discussing a similar solution with some of my colleagues, except using Azure SQL DB instead of SQL MI. I have a couple of clarifying questions:
- Are the two SQL Managed Instances in separate regions?
- What is the business driver for keeping the primary Reporting DB on a different replica to the primary replica for the OLTP databases? e.g. Cost, Query latency/performance, wanting to take advantage of underutilised resources, etc
There's a great article written by one of the SQL PG PM's about Creating a Linked Server to a SQL Managed Instance replica when using the Business Critical tier. You could use this linked server solution to keep all your databases on a single Primary Replica while offloading the read-heavy reporting workload/queries to a secondary replica. For the link between your databases with Stored Procedures, you would need to update them to use the four part name ([LinkedServerName].[DatabaseName].[SchemaName].[TableName]), and there are potential performance impacts you need to be aware of. However we do have some guidance on addressing these.
Would this approach potentially work for your situation?