Discover 5 Reasons to Migrate SQL Servers to Azure | Quisitive
Discover 5 Reasons to Migrate SQL Servers to Azure
March 7, 2023
Get the stats. Find out why many organizations have made the decision to migrate Windows and SQL servers to Azure.
Simplify your migration from Windows and SQL Servers to Microsoft Azure with Quisitive.

Cloud adoption is on the rise as businesses today face market and supply chain disruptions unlike any they’ve faced in the past and turn to the cloud for the scale, flexibility, and security they need to keep up.

Quisitive will…

Assess your current environment to define in-scope workloads
Plan your migration, ensuring you receive all the benefits of migration
Build your Azure infrastructure to support your workloads
Migrate identified workloads to Azure
Optimize your environment for efficiency, security, and costs
Access the infographic
Fill out the form and get instant access to the top 5 reasons to migrate SQL servers as Azure.

This field is for validation purposes and should be left unchanged.
Save with your existing Windows Server or SQL Server Licenses

We meet you where you are on your cloud journey. Even on-premises workloads can benefit by extending capabilities using Azure services.

With the Azure Hybrid Benefit, you can use an existing Windows Server or SQL Server license to save on virtual machines in Azure SQL Servers.

Contact us to learn more about cost savings opportunities when you migrate Windows and SQL Servers to Azure.

Learn more
Benefits of Migrating to Microsoft Azure

Your ideal cloud infrastructure should earn your trust with resilience, scalability, and cost efficiency. Migrate SQL Servers to Azure SQL servers or migrate Windows Servers to Azure to realize the benefits of the cloud.

Reduced Costs

Receive up to 478% 3-Year ROI when you migrate from Windows and SQL Servers to Azure.


Accelerate the modernization of your infrastructure and applications with the power of cloud computing on Azure’s scalable and resilient platform.

Hybrid Capabilities

Use a combination of cloud and on-premises services where needed to maximize agility and value.


Take advantage of multi-layered security across physical data centers, infrastructure, and operations, as well as Disaster Recovery.

About Quisitive

Quisitive is a premier, global Microsoft Partner that harnesses the Microsoft cloud platform and complementary technologies, including custom solutions and first-party offerings, to generate transformational impact for enterprise customers. Quisitive has consistently been recognized as a leading Microsoft Partner with 16 Specializations and all 6 Solution Partner Designations. Quisitive’s Microsoft awards include the 2023 US Partner of the Year Winner for Health and Life Sciences, 2023 US Partner of the Year Winner for Solutions Assessment and 2023 US Partner of the Year Finalist for the Industrial and Manufacturing vertical.

Windows 10 Upgrade without Upgrade Readiness

When Microsoft made the Upgrade Readiness solution freely available to anyone back in the Spring of 2017 it was a major step forward in the monumental task of upgrading Windows 7 and Windows 8.1 computers to Windows 10 and keeping up with Windows 10 Feature Updates.  The solution made compatibility assessment 10 times easier.

Enter January 2020 and the free Upgrade Readiness is gone, replaced by the Desktop Analytics that’s only available with Microsoft Endpoint Configuration Manager.  There’s noting wrong with Desktop Analytics, but if you happen to be in a situation where you can’t use it then your compatibility assessment just got harder.

The best workaround it to use the Windows Setup engine in Compatibility Scan mode, consolidate and analyze the results.  This isn’t new, but MVP Rob Marshal posted some updated guidance on the solution over at Win7 to Win10 IPU – With ConfigMgr but without Desktop Analytics.

This post is really about reminding you that if you know how things work in the back end you can reverse engineer them for your own benefit.

Who doesn’t get to use Desktop Analytics? Organizations that don’t have a recent version of ConfigMgr / SCCM / MEMCM / MECM deployed (v1902 or newer is required).  You may be stuck on an old version or a non-Current Branch version/edition.  You may not have ConfigMgr at all.

Remember, to use Windows Setup Compatibility Scan

If you find yourself in this boat, I highly recommend reading though a few ConfigMgr blog posts about Windows Setup Compatibility Scan.  They should give you everything you need to create a solution that works in your non-Micosoft Endpoint Management centric environment.

Here are some good articles to start with…

Have fun scanning the castle!

I’ve recently been doing some testing between the different Windows 10 releases, and wanted to quick way to be able to install new VMs without maintaining a bunch of different VM templates, or using MDT. To do this I made a ISO image that installs the base Windows 10 image without any manual interaction required. This post will go over the steps you can use to make your own Windows 10 Zero-Touch ISO.


Before you begin, you must have a Windows 10 ISO. If you don’t have one, you can use the Windows Media Creation Tool to create one from any licensed installation of Windows 10.

You will also need to install the Windows Assessment and Deployment Kit (ADK). When installing the ADK you only need to install the Deployment Tools feature.

Prep the ISO Files

Since we want this to be Zero-Touch, there are a few things you need to do to prevent the “Press any key to boot from CD or DVD” prompt.

  1. Extract the contents of your ISO. In the examples used below I extracted mine to E:Win10_ISO.
  2. Delete the file .bootbootfix.bin (This will prevent the prompt when booting using BIOS.)
  3. In the folder .efimicrosoftboot rename the following files (This will prevent the boot prompt on UEFI systems)
    1. bin –> efisys_prompt.bin
    2. bin –> efisys.bin
  4. The next step only applies if you used the Media Creation Tool. If you used and ISO image you can skip to the next section.
  5. In the folder .sources rename the file install.esd –> install.wim

Script It

$ISO = "E:Windows.iso" $FolderPath = "E:Win10_ISO" # Get current drive letters $drives = (Get-Volume).DriveLetter # Mount the ISO image $image = Mount-DiskImage -ImagePath $ISO -PassThru # Get the new drive letter $drive = (Get-Volume | ?{$drives -notcontains $_.DriveLetter -and $_.DriveLetter -ne $null}).DriveLetter # Create destination folder if it doesn't exist If (!(test-path $FolderPath)){ New-Item -type directory -Path $FolderPath} # Copy the ISO files Get-ChildItem -Path "$($drive):" | %{ Copy-Item -Path $_.FullName -Destination $FolderPath -recurse -Force} # dismount the ISO $image | Dismount-DiskImage # Delete the bootfix.bin Remove-Item (Join-Path $FolderPath "bootbootfix.bin") -Force # Rename the efisys files Rename-Item (Join-Path $FolderPath "efimicrosoftbootefisys.bin") "efisys_prompt.bin" Rename-Item (Join-Path $FolderPath "efimicrosoftbootefisys_noprompt.bin") "efisys.bin" # Rename install.esd to install.wim If (Test-Path $(Join-Path $FolderPath "sourceinstall.esd")){ Rename-Item $(Join-Path $FolderPath "sourceinstall.esd") "install.wim" }

Create Autounattend.xml

The Autounattend.xml is used to answer all the questions that you are asked during the installation process. I have uploaded a sample file to my Gist profile that you can download, to get started pretty quick and easily. This Autounattend.xml has been tested on version 1511, 1607, and 1709, using x64 architecture.

  1. Download the Autounattend.xml and open in your preferred text editor
  2. The DiskConfiguration section sets the partitions. This file will create a 100 MB EFI partition, a 4 GB recovery volume, and assign the rest of the disk space to the OS partition. You should not need to make any changes here.
  3. Update the sections SetupUILanguage, InputLocale, SystemLocale, UILanguage, and UserLocale to your required language and location.
  4. In the UserAccounts section you can set the password for the administrator account.
  5. Update the AutoLogon section with the same password as the UserAccounts
  6. Make note of the SkipMachineOOBE and SkipUserOOBE. These are set to true to allow you to bypass the initial setup screens after Windows is installed. These should only be used for testing purposes. If you are creating a production image be sure to remove these two sections.
  7. ComputerName is set to * to generate a random name.
  8. Update the RegisteredOwner and RegisteredOrganization to your organization.
  9. Place the xml in the top level of the folder you extracted the ISO to.

If you want to do any customization beyond what is covered above you can use the Windows System Image Manager that was included with the Windows ADK you installed earlier.

Script It

$FolderPath = "E:Win10_ISO" [string]$password = Read-Host -Prompt "Enter the admin password to use" [string]$ComputerName = Read-Host -Prompt "Enter the computer name use '*' to randomly generate it" [string]$RegisteredOwner = Read-Host -Prompt "Enter the Registered Owner" [string]$RegisteredOrganization = Read-Host -Prompt "Enter the Registered Organization" $AutounattendXML = $(Join-Path $FolderPath "Autounattend.xml") # Download the sample Autounattend.xml $Uri = "" Invoke-WebRequest -Uri $Uri -OutFile $AutounattendXML # load the Autounattend.xml [xml]$Autounattend = Get-Content $AutounattendXML # Update the values ($Autounattend.unattend.settings | ?{$_.pass -eq 'oobeSystem'}).component.AutoLogon.Password.Value = $password ($Autounattend.unattend.settings | ?{$_.pass -eq 'oobeSystem'}).component.UserAccounts.AdministratorPassword.Value = $password ($Autounattend.unattend.settings | ?{$_.pass -eq 'specialize'}).component.ComputerName = $ComputerName ($Autounattend.unattend.settings | ?{$_.pass -eq 'specialize'}).component.RegisteredOwner = $RegisteredOwner ($Autounattend.unattend.settings | ?{$_.pass -eq 'specialize'}).component.RegisteredOrganization = $RegisteredOrganization # Save the updated XML file $Autounattend.Save($AutounattendXML)

Create the ISO

  1. Go to Start > Windows Kits > Deployment and Imaging Tools Environment
  2. Run the command below to generate your ISO.

oscdimg.exe -m -o -u2 -udfver102 -bootdata:2#p0,e,,e,bE:Win10_ISOefimicrosoftbootefisys.bin E:Win10_ISO E:Win10Ent1607x64.iso

That’s it! Your ISO is now ready to use.

Script It!

# Create the ISO image $DevToolsDirectory = "C:Program Files (x86)Windows Kits10Assessment and Deployment KitDeployment Tools" $FolderPath = "E:Win10_ISO" $ISO = 'E:Win10_ISO.iso' $command = $(Join-Path $DevToolsDirectory 'amd64Oscdimgoscdimg.exe') $arguments = '-m','-o','-u2','-udfver102',"-bootdata:2#p0,e,b$(Join-Path $FolderPath '')#pEF,e,b$(Join-Path $FolderPath 'efimicrosoftbootefisys.bin')",$FolderPath,$ISO & $command $arguments

Bonus Script: Create Virtual Machine

The script below can be used to create a Hyper-V Virtual Machine, mount your newly created ISO, and starts the VM, so the Windows 10 installation begins.

# Create new VM and install OS $VM = 'blog01' $ISO = "E:Win10Entx64.iso" $Path = "E:Virtual Machines" $SwitchName = 'External NIC' New-VM –Name $VM –NewVHDPath (Join-Path $Path "$VM$VM.vhdx") -NewVHDSizeBytes 40GB -SwitchName $SwitchName -Path $Path -Generation 2 Set-VMMemory -VMName $VM -DynamicMemoryEnabled $true -MinimumBytes 512MB -MaximumBytes 2048MB -Buffer 20 -StartupBytes 1024MB Add-VMDvdDrive -VMName $VM -Path $ISO Set-VMFirmware -VMName $VM -BootOrder $(Get-VMDvdDrive -VMName $VM),$(Get-VMHardDiskDrive -VMName $VM) Start-VM $VM vmconnect localhost $VM

All script from this post can also be find on my Gist page.