Migrate from Windows Azure Services for Windows Server

 

Applies To: Windows Azure Pack

Windows Azure Pack for Windows Server improves upon the functionality and features offered in Windows Azure Services for Windows Server (also referred to as the Service Management Portal and Service Management API) and is intended as a replacement portal. You can migrate your data from Windows Azure Services to Windows Azure Pack. The following table indicates the migration status for the different data sets in Windows Azure Services during and after the migration to Windows Azure Pack.

Resource

Data/Function

Migrated to Windows Azure Pack?

Windows Azure Services core

Web.Config AppSettings

No

Web.Config ConnectionString

No

IIS Settings (such as host name or custom port)

No

Encrypted Web.Config

Yes

Tenant password

No. Set to expired after migration.

Firewall settings

No

Custom resource provider

No

Custom theming kit

No. You need to reapply.

Virtual Machines

Existing VM roles

No. You need to create new VM roles.

Standalone VMs

Yes

Web Sites

Yes

Usage

Yes

SQL Server and MySQL

Yes, although you will need to follow the steps below.

Migrating to Windows Azure Pack requires work both before you install Windows Azure Pack and after. Use the following information to migrate.

Known issues with migrating data

The following issues and restrictions apply to data migrated from Windows Azure Services for Windows Server. Where possible, a workaround is provided. Review this information before you migrate your data.

  • Issue: Some existing plans have the status of “Not configured” after the migration.

    Workaround: The SQL and MySQL quota information is lost for plans without subscriptions. Reapply the quota to these plans.

  • Issue: Tenants cannot log into the management portal due to an expired password.

    Workaround: Reset the tenant passwords. Because of a change to the way that Windows Azure Pack secures passwords, existing passwords have been changed to expired.

  • Issue: Existing tenants cannot create new databases.

    Workaround: Suspend and then reactivate the account for any tenant that encounters this issue.

  • Issue: Existing tenants cannot delete existing databases.

    Workaround: Repair the connection to existing SQL Server and MySQL instances.

  • Issue: Plan advertisement and invitation codes are lost after you migrate your data.

    Workaround: Re-apply the advertisements and invitation codes to your plans.

Before you uninstall the Service Management Portal

Before you uninstall Windows Azure Services from your environment, use the following steps to preserve your data:

  1. Ensure that all resource providers that you have installed with Windows Azure Services are running and accessible.

  2. Stop the Windows Activation Process service on all machines in your deployment. This stops any new changes from coming into the Windows Azure Services databases. Use the following command to stop the service:

    net stop was
    
  3. Back up all databases.

  4. On the SQL Server instance that contains the Service Management databases, create copies of the Microsoft.MgmtSvc.Store database named Microsoft.MgmtSvc.MySQL and Microsoft.MgmtSvc.SQLServer. Use the following steps:

    1. Start the SQL Server agent service:

      net start slqserveragent
      
    2. Grant the SQL Server agent access to the Service Management data folder:

      icacls "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA" /T /C /E /G "NT Service\SQLSERVERAGENT":F 
      
    3. In SQL Server Management Studio, right-click Microsoft.MgmtSvc.Store, and then click Tasks -> Copy database.

    4. Follow the instructions in the wizard. Use “Microsoft.MgmtSvc.MySQL” as the name of the copied database.

    5. From a Windows PowerShell prompt, use the following cmdlets to uninstall the Management and SQL Server schemas from the Microsoft.MgmtSvc.MySQL database:

      $server = "mysqlserver"
      $sa = "sa"
      $sapswd = "123!sdf"
      Uninstall-MgmtSvcDatabase -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.MySQL
      Uninstall-MgmtSvcDatabase -Schema SQLServer -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.MySQL
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.MySQL -User MgmtSvc-AdminAPI
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.MySQL -User MgmtSvc-Monitoring
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.MySQL -User MgmtSvc-TenantAPI
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.MySQL -User MgmtSvc-TenantPublicAPI
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.MySQL -User MgmtSvc-UsageCollector_Management
      Remove-MgmtSvcDatabaseUser -Schema SQLServer -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.MySQL -User MgmtSvc-SQLServer
      Remove-MgmtSvcDatabaseUser -Schema MySQL -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.MySQL -User MgmtSvc-MySQL
      
    6. Run the following commands to uninstall the MySQL schema from the Microsoft.MgmtSvc.Store database:

      Uninstall-MgmtSvcDatabase -Schema MySQL -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.Store
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.Store -User MgmtSvc-AdminAPI
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.Store -User MgmtSvc-Monitoring
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.Store -User MgmtSvc-TenantAPI
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.Store -User MgmtSvc-TenantPublicAPI
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.Store -User MgmtSvc-UsageCollector_Management
      Remove-MgmtSvcDatabaseUser -Schema MySQL -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.Store -User MgmtSvc-MySQL
      
    7. Return to SQL Server Management Studio and right-click Microsoft.MgmtSvc.Store again, then click Tasks -> Copy database.

    8. Save the database as “Microsoft.MgmtSvc.SQLServer.”

      Tip

      If errors occur while you are copying the database, run the command in step b. again to re-grant access to the required files.

    9. From a Windows PowerShell prompt, use the following cmdlets to uninstall the Management and SQL Server schemas from the Microsoft.MgmtSvc.SQLServer database:

      Uninstall-MgmtSvcDatabase -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.SQLServer
      Uninstall-MgmtSvcDatabase -Schema SQLServer -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.Store
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.SQLServer -User MgmtSvc-AdminAPI
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.SQLServer -User MgmtSvc-Monitoring
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.SQLServer -User MgmtSvc-TenantAPI
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.SQLServer -User MgmtSvc-TenantPublicAPI
      Remove-MgmtSvcDatabaseUser -Schema Management -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.SQLServer -User MgmtSvc-UsageCollector_Management
      Remove-MgmtSvcDatabaseUser -Schema SQLServer -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.Store -User MgmtSvc-SQLServer
      Remove-MgmtSvcDatabaseUser -Schema SQLServer -Server $server -UserName $sa -Password $sapswd -Database Microsoft.MgmtSvc.SQLServer -User MgmtSvc-SQLServer
      
    10. Revoke permissions and stop the SQL Server agent by running the following commands:

      icacls "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA" /T /C /E /R "NT Service\SQLSERVERAGENT"
      net stop sqlserveragent
      
    11. Use the Add and Remove Programs tool to uninstall all programs that start with “Service Management” from all machines in your existing deployment.

    12. Restart your machines.

After you install Windows Azure Pack

After you have installed and configured the Windows Azure Pack core components, as described in Deploy Windows Azure Pack for Windows Server, do the following:

  1. Install the Windows Azure Pack: Web Sites service. This is a new version of the Web Sites service that you used in the Service Management portal.

  2. Upgrade any other resource providers you want to use, including the Virtual Machines service, which uses the System Center 2012 R2 version of Virtual Machine Manager.

  3. Run the following cmdlet to migrate subscription data from resource providers:

    Update-MgmtSvcV1Data -DisableCertificateValidation
    

    Note

    If you receive a 404 – File or directory not found error, it means that the resource provider that you are trying to migrate is not functional. If this occurs, you will need to manually set the quota information for plans related to that resource provider.

    If you have a plan without subscriptions, you will see a warning message telling you that the quota synchronization for that plan cannot be completed. The plan will be marked as “Not configured” and you will need to manually configure it in the management portal for administrators.

  4. Log into the management portal for administrators and reset the password for the tenant portal. Because of a change to the way that Windows Azure Pack secures passwords, existing passwords have been set to expired. Make sure to communicate the new password to your tenants, as they will see a “Password has expired” error when they attempt to log into the portal using the old password.