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
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
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.
Installation Options
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
Dependencies
This script has no dependencies.
Release Notes
### 0.1.1
Added blog link.
### 0.1.0
First version published to PowerShellGallery.
FileList
- Upgrade-SqlServerStandaloneDatabaseEngineInstance.nuspec
- Upgrade-SqlServerStandaloneDatabaseEngineInstance.ps1
Version History
Version | Downloads | Last updated |
---|---|---|
0.1.1 (current version) | 401 | 6/4/2019 |
0.1.0 | 32 | 4/23/2019 |