r/AZURE•
dynamint

On-Prem SQL to Azure without a VPN or ExpressRoute?

We've got about ~1 TB worth of data spread across three databases that we'd like to move to Azure's SQL Database. We've confirmed the databases are compatible but we're exploring options to see how we can do this without enduring prolonged outages. The application is self-contained and suitable for App Service, no hooks required into AD or on-prem resources. Due to the time/complexity of making network changes, a VPN or ExpressRoute isn't an option. I'm reading about the Database Migration Service tool and its new Hybrid mode which appears to work needing a dedicated connection from on-prem to VNET, though it appears to be in Preview release only. Has anyone done something like this? Any good write-ups or recommendations you could share? Thanks!

Posted Nov 12, 2019, 2:02 PM UTC

716
arq25•

If you’re just trying to get the data there check out Azure Data Box:

https://docs.microsoft.com/en-us/azure/databox/data-box-overview

Essentially they (azure) ships you physical disks, you then copy your data, ship it back to Azure and they’ll upload it for you. That way you know it’s a good copy of the data.

6
dynamintOP•

Thanks, this is probably the safest and least painful route. I was hoping there was some tool that could gradually move the data from source to target without requiring prolonged downtime on the source DB. But even so, it'd take far too long to move this data without some sort of dedicated connection.

1
the_sw•
2
dynamintOP•

That's really helpful. Thank you!

1
messburg•

A demo I once saw also mentioned VPN or express route was mandatory for migration services, but that's a long time ago.

I don't know how advanced your databases are, but you can move all the data without VPN, via a selfhosted integration runtime+data factory.

If you script out your DB's to Azure SQL Server version, you can just make a one-time run via Data factory. Everything maps itself because you have identical tables, etc.

You can have several selfhosted integration runtimes installed in your environment, on different servers. Then make 3 copy activities, 1 for each database, all simultaneously if you have the bandwidth for it.

1
aditseng•

Is it a one time copy or is it an ongoing sync. If it's the latter, then Data Sync for near real time and Data Factory for more scheduled syncs.

For one time, you could use Data Factory or just backup and restore.

1
dynamintOP•

The hope was to just copy the data once and shut the old DB instance down. I'm not familiar with Data Factory. Thanks for the tip.

1
aditseng•

Data Factory is the proposed replacement for SSIS. Currently, you can connect to multiple data sources to perform ETL.

For single copies there are a few options. This is the documentation for using bacpac https://docs.microsoft.com/en-us/azure/sql-database/sql-database-import

2
PepeTheMule•

We used the catalog ‘Azure Migrate’ to move a VMware IaaS VM to Azure IaaS VM. Phase two will be to move it to Azure SQL PaaS. All it requires to move is a proxy server that azure provides as a vm image.

1
spyder0451•

Around 4 years ago I did this with a on-prem relay. It was based on BizTalk and would sync the databases in batches overtime without the need for a VPN. It was early days of Azure SQL but it may still exist as an option.

1
messburg•

Alternatively; ss an alternative to making changes to your network, you can spin up a windows server on premises and make a VPN to Azure via that, like this: https://blogs.technet.microsoft.com/jletsch/2016/03/15/lets-configure-azure-site-to-site-vpn-with-rras-in-azure-resource-manager/

Then set the route to the new vpn-server on your DB servers and migration services. Then you have VPN, without making changes in your regular network/firewall, as it seems like an issue. When you're done, you can remove the server, and your network guys won't notice anything, as long as the connection to Azure is not blocked.

It takes a couple of hours, and you're up running. Not the most professional way, but if time is an issue, it's a quick ugly fix.

1
dynamintOP•

That's actually a pretty interesting idea. Thanks for the link!

2
messburg•

Not a problem. Your network guys will hate you :D

1
owaman•

Are you moving to Azure SQL DB or Az SQL managed Instance? You can use DMA tool to Migrate to Azure Sql dB without any vpn.

If it's sql MI, you can dump the .bak to blob storage and do a restore from url

0
dynamintOP•

It would be Azure SQL DB. I thought the DMA tool required a VPN or ExpressRoute?

1
owaman•

No it doesn't. DMS requires VPN or Express Route. DMA can connect over Internet. I do this for a living.

3