The Problem
Whilst doing a migration from an on-premised TFS to Azure DevOps Services for a client I had a strange issue with SQLPackage.exe.
I had previously completed the dry run of the migration without any issues and started the live migration with a fully defined process and timings for a each stage.
When I came to export the detached Team Project Collection DB I ran the same command as I had for the dry run
& "C:Program FilesMicrosoft SQL Server150DACbinSqlPackage.exe" /sourceconnectionstring:”Data Source=localhostSQLExpress;Initial Catalog=Tfs\_DefaultCollection;Integrated Security=True” /targetFile:C:tempTfs\_DefaultCollection.dacpac /action:extract /p:ExtractAllTableData=true /p:IgnoreUserLoginMappings=true /p:IgnorePermissions=true /p:Storage=Memory
I had expected this to take around 30 minutes. However it failed after 10 minutes with an error when trying to export the schema ‘Timeout, cannot reconnect to the database’.
This was strange as nothing had changed on the system since the dry-run. I tried all of the following with no effect
- Just running the command again, you can hope!
- Restarted SQL and ran the command again
- Tried the export from SQL Management Studio as opposed to the command line , this just seems to hang at the same point.
The Solution
What resolved the problem was a complete reboot of the virtual machine. I assume the issue was some locked resource, but not idea why.
Updated 29th July 2020
I had the same problem with another client upgrade. This time a reboot did not fix it.
The solution at this site was to upgrade SQLPackage from the 140 32bit version to the 64bit 150 version. Once this was done the command ran without a problem