Upgrade-SqlServerStandaloneDatabaseEngineInstance

0.1.1

### What this tool does

This will perform an *impactful*, in-place, major version upgrade, such as
SQL Server 2008 SP4 -> 2017 or 2008 R2 SP3 -> 2016, on a standalone
SQL Server Database Engine instance on a Windows operating system. It can
be run either locally, or remotely if deployed on a Windows VM in a vSphere
environment such as VMware Cloud on AWS. You must su
### What this tool does

This will perform an *impactful*, in-place, major version upgrade, such as
SQL Server 2008 SP4 -> 2017 or 2008 R2 SP3 -> 2016, on a standalone
SQL Server Database Engine instance on a Windows operating system. It can
be run either locally, or remotely if deployed on a Windows VM in a vSphere
environment such as VMware Cloud on AWS. You must supply your own
SQL Server installation media and product key / license.

The compatibility level of each database deployed on the target SQL Server
instance will not be modified by this script, and *should* remain the same,
but please test thoroughly.

Please see the links below for additional resources such as Microsoft's
best practices for planning your SQL Server instance upgrades, breaking
changes and backwards compatibility, et cetera.

Again, the upgrade process is impactful, so please test thoroughly and plan
for application downtime.

### What this tool does not do

!!! danger "Backups are *NOT* included"
   Backups are *NOT* included. Please make sure that you have implemented
   and verified proper backups, and that you have a recovery plan
   established that meets the recovery plan objective (RPO) and recovery
   time objective (RTO).

This tool does not accommodate the intricacies of upgrading any
high availability (HA) SQL Server instance types including:

- Replicated Databases
- Mirrored Databases
- Log Shipping Instances
- Failover Cluster Instances (FCI)
- AlwaysOn Availability Groups (AAG)

This tool does not accommodate edition upgrades within the same version of
SQL Server either.

The checks run prior to the upgrade cannot test for every eventuality. In
fact, most of the requirements and compatibility testing is delegated to
Microsoft's SQL Server installation media since it was built with a robust
testing framework. Please test thoroughly.

### Local upgrades
For local upgrades, this script requires elevated privileges and must be
run from PowerShell launched with the 'Run as Administrator' option.

### Remote upgrades
For VMware PowerCLI-based remote upgrades, HTTPS (443/tcp) connectivity is
required to the ESXi hosts as well as vCenter for executing commands in the
VM's guest operating system via the VMware Guest Operations API. This
connectivity is not permitted by default, such as in VMware Cloud on AWS,
but can be configured.

This tool does not attempt to install or import the required PowerCLI
modules, nor does it attempt to establish a PowerCLI session with vCenter.
For VMware PowerCLI installation instructions, please see:
https://www.powershellgallery.com/packages/VMware.PowerCLI/. Once
installed, run `Import-Module -Name 'VMware.VimAutomation.Core'` to import
the subset of modules required. To learn more about how to establish a
PowerCLI session, run `Get-Help -Name 'Connect-VIServer' -Detailed`, which
includes a few examples.

All target VMs must be powered on, and VMware Tools must be installed and
running in the guest operating system of each Windows VM.

The supplied credentials will be used on each VM to access the guest
operating system, and must have administrative privileges. Because feature:
https://powercli.ideas.aha.io/ideas/PCLI-I-101 has neither been accepted
nor released by the PowerCLI team, Windows User Account Control (UAC) must
be disabled in each guest operating system as well.

Multiple VMs can be specified in the same command for batch upgrades via an
array of VM IDs or names, as well as wildcard globbing of VM names;
however, the SQL Server instance on each VM is upgraded iteratively, not
concurrently. Please plan accordingly.

Show more

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Script -Name Upgrade-SqlServerStandaloneDatabaseEngineInstance

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

Copyright 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Package Details

Author(s)

  • Amazon Web Services Inc.

Tags

AWS SqlServer SQL Server MSSQL upgrade compatibility VMware PowerCLI VM VirtualMachine Windows Linux Mac macOS

Functions

Get-LocalizedMessage Write-Message Test-Role Out-UpgradeResult

PSEditions

Core Desktop

Dependencies

This script has no dependencies.

Release Notes

### 0.1.1
Added blog link.
### 0.1.0
First version published to PowerShellGallery.

FileList

Version History

Version Downloads Last updated
0.1.1 (current version) 369 6/4/2019
0.1.0 31 4/23/2019