I went through Azure SQL DB’s Managed Instance feedback forum, and here are some of the interesting issues that have been raised:
Support for other collations – sounds like right now they only support one case insensitive collation. I can see how that’d be a pretty big blocker for some existing applications, but at least it’s black-and-white clear – you’ll know pretty quickly if this is a showstopper for your particular application. Update: now supported!
Make smaller instance sizes available – I would argue that if you don’t need at least 8 cores, you should probably be looking at regular Azure SQL DB instead, but I can understand how that’s not a great answer for multi-database apps that do cross-database queries. Microsoft’s response mentions that they’re also working on dev/test licensing support – that’s something a lot of folks don’t consider when they move to Platform-as-a-Service. There’s no cheaper Azure SQL DB Developer Edition. (Same problem with Amazon RDS.)
Make backups portable to on-premises SQL Server (unplanned) – Azure SQL DB Managed Instances are a future version of SQL Server, and we’ve never been able to restore from a newer version to an older version. This is a huge blocker for companies that want to take backups and restore them into Developer Edition servers, though, and same thing with companies that want cross-cloud disaster recovery. I don’t see an easy fix for this anytime soon.
Allow linked server to non-SQL sources – like CSV and Excel files. The problem here is, where do you put the files in a way that they’d be accessible to these SQL Servers? The networking for Managed Instances is already a huge pain in the rear. It’d have to involve files on Azure Blob Storage.
Allow non-UTC server times – Managed Instances are in UTC, full stop. That’s a problem for some apps that depend on the server being in the user’s time zone, rendering times naturally onscreen. Yes, we can argue that developers should fix their code, but that’s simply not going to happen quickly. This request is about tweaking regional settings in a way that would override the output of GetDate, but I doubt that’s going to happen either. Thankfully Microsoft has started working on this, because this is a tough one to work around. Update: now supported!
Add support for distributed transactions (unplanned) – in the comments, Ryan Adams notes that this is a blocker for BizTalk, but the Microsoft response is, “Implementing MSDTC support in cloud environment is not a trivial ask.”
There are more in the full list, but honestly…not a lot more, especially compared to the hundreds for Azure SQL DB. That’s also partially a function of how new Managed Instances are compared to Azure SQL DB, which has been around for years. I’m really liking the looks of this product for the long term.