{"id":101226,"date":"2024-02-26T00:00:32","date_gmt":"2024-02-26T00:00:32","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?p=101226"},"modified":"2024-03-25T16:08:33","modified_gmt":"2024-03-25T16:08:33","slug":"upgrade-sql-server-on-your-workstation","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/database-administration-sql-server\/upgrade-sql-server-on-your-workstation\/","title":{"rendered":"Upgrade SQL Server on your workstation"},"content":{"rendered":"<p>Lately, I&#8217;ve seen many people struggling to upgrade their workstation to the latest version of SQL Server. The main source of the problem is usually the web installer\/wrapper, which can fail for a variety of reasons that aren&#8217;t always made clear by the error messages. Today, I&#8217;m going to walk through one way you can approach a workstation upgrade and avoid these web installer issues altogether. I&#8217;ll focus on SQL Server 2022, but most of the information applies to any modern major version. Most of the information applies if you&#8217;re installing a brand-new instance, too.<\/p>\n<p>First, make sure you actually want to run a full-blown edition of SQL Server on your local workstation. There are other alternatives today that can lower the maintenance effort and performance burden of running an instance all the time, such as <a href=\"https:\/\/www.mssqltips.com\/sqlservertip\/5612\/getting-started-with-sql-server-2017-express-localdb\/?utm_source=AaronBertrand\" target=\"_blank\" rel=\"noopener\">SqlLocalDB<\/a> or <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/linux\/sql-server-linux-docker-container-configure?view=sql-server-ver16&amp;pivots=cs1-bash\" target=\"_blank\" rel=\"noopener\">Docker containers<\/a>. If you&#8217;re on an Intel Mac, you can use <a href=\"https:\/\/www.mssqltips.com\/sqlservertip\/7099\/testing-sql-server-edge-and-docker-on-the-latest-macbooks\/?utm_source=AaronBertrand\" target=\"_blank\" rel=\"noopener\">Azure SQL Edge<\/a> and, on M1 or newer, see <a href=\"https:\/\/sqlblog.org\/2023\/03\/03\/sql-server-apple-silicon\" target=\"_blank\" rel=\"noopener\">Regular SQL Server on Apple Silicon? Yes you can!<\/a><\/p>\n<p>If those options don&#8217;t apply to you, read on.<\/p>\n<h3>Get the right edition<\/h3>\n<p>One of the most important things is to grab the right edition. Folks already running Express try to install Evaluation or Developer Edition, then wonder where their databases went, when they actually installed a brand-new instance and left the old one still running. Check the instance you want to upgrade using <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/t-sql\/functions\/serverproperty-transact-sql\" target=\"_blank\" rel=\"noopener\"><code style=\"font-family: consolas; background: #e4e4e4; padding: 3px 4px 1px 4px; border-radius: 3px;\">SERVERPROPERTY<\/code><\/a>:<\/p>\n<pre class=\"theme:tomorrow-night font:consolas font-size:14 line-height:16 decode-attributes:false tab-convert:true lang:tsql decode:true whitespace-before:1 whitespace-after:1\"> SELECT SERVERPROPERTY('InstanceName'), SERVERPROPERTY('Edition');<\/pre>\n<p>If you already have the relevant ISO, or want to <a href=\"https:\/\/download.microsoft.com\/download\/3\/8\/d\/38de7036-2433-4207-8eae-06e247e17b25\/SQLServer2022-x64-ENU-Dev.iso\" target=\"_blank\" rel=\"noopener\">download Developer Edition directly<\/a>, then you can <a href=\"#slip\">skip to the next section<\/a>. Otherwise, see the following table for installer resources for various editions:<\/p>\n<div class=\"table-container\">\n<table>\n<tbody>\n<tr>\n<th style=\"border: 1px solid #000; text-align: left; padding: 6px 8px 5px 8px!important; background: #eee;\">Edition<\/th>\n<th style=\"border: 1px solid #000; text-align: left; padding: 6px 8px 5px 8px!important; background: #eee;\">Download \/ Notes<\/th>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; text-align: left; padding: 6px 8px 5px 8px!important;\">Developer<\/td>\n<td style=\"border: 1px solid #000; text-align: left; padding: 6px 8px 5px 8px!important;\">\n<p><a href=\"https:\/\/go.microsoft.com\/fwlink\/p\/?linkid=2215158&amp;clcid=0x409&amp;culture=en-us&amp;country=us\" target=\"_blank\" rel=\"noopener\">Web installer (US English)<\/a><br \/>\n<a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/sql-server-downloads\" target=\"_blank\" rel=\"noopener\">Other languages<\/a><\/p>\n<p>Better: <a href=\"https:\/\/download.microsoft.com\/download\/3\/8\/d\/38de7036-2433-4207-8eae-06e247e17b25\/SQLServer2022-x64-ENU-Dev.iso\" target=\"_blank\" rel=\"noopener\">Direct ISO download<\/a> (again, US English)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; text-align: left; padding: 6px 8px 5px 8px!important;\">Express<\/td>\n<td style=\"border: 1px solid #000; text-align: left; padding: 6px 8px 5px 8px!important;\"><a href=\"https:\/\/go.microsoft.com\/fwlink\/p\/?linkid=2216019&amp;clcid=0x409&amp;culture=en-us&amp;country=us\" target=\"_blank\" rel=\"noopener\">Web installer (US English)<br \/>\n<\/a><a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/sql-server-downloads\" target=\"_blank\" rel=\"noopener\">Other languages<\/a><\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; text-align: left; padding: 6px 8px 5px 8px!important;\">Evaluation<\/td>\n<td style=\"border: 1px solid #000; text-align: left; padding: 6px 8px 5px 8px!important;\"><a href=\"https:\/\/info.microsoft.com\/ww-landing-sql-server-2022.html\" target=\"_blank\" rel=\"noopener\">Fill out the form here<\/a><br \/>\nI&#8217;m not sure if an upgrade is supported. In any case, be aware that this instance will silently start failing following the next service start after 180 days.<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #000; text-align: left; padding: 6px 8px 5px 8px!important;\">Standard<br \/>\nor<br \/>\nEnterprise<\/td>\n<td style=\"border: 1px solid #000; text-align: left; padding: 6px 8px 5px 8px!important;\">It&#8217;s not common to run these editions on workstations. You&#8217;ll need to get the installation media from your organization, your licensing rep, or subscriber downloads. You can also download from <a href=\"https:\/\/info.microsoft.com\/ww-landing-sql-server-2022.html\" target=\"_blank\" rel=\"noopener\">the link to Evaluation Edition<\/a>, and enter your license key during setup.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>But, look, don&#8217;t use the web installer to <em>install<\/em> SQL Server. Always download the media when presented with a choice, mount the ISO, and use setup.exe! I don&#8217;t need to step you through the web installer wizard &#8211; there are plenty of basic tutorials out there for that. I&#8217;m here to tell you to not use the wizard and to <a href=\"https:\/\/download.microsoft.com\/download\/3\/8\/d\/38de7036-2433-4207-8eae-06e247e17b25\/SQLServer2022-x64-ENU-Dev.iso\" target=\"_blank\" rel=\"noopener\">download the ISO<\/a>. And <em>keep<\/em> the ISO, somewhere on the network, since you&#8217;ll likely use it again on other machines, and it will also come in handy if you ever want to add or change features.<\/p>\n<h4>Don&#8217;t use the web installer<\/h4>\n<p>If you choose to use the web installer, you may encounter the unhelpful <code style=\"font-family: consolas; background: #e4e4e4; padding: 3px 4px 1px 4px; border-radius: 3px;\">Oops...<\/code> result (which can happen in any edition):<\/p>\n<p><img decoding=\"async\" style=\"width: 60%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-oops.png\" \/><\/p>\n<p>Depending on the error message displayed below that, you can Google for the error code and possibly muck around with the registry, and maybe even get past the error. Or you can just download the ISO from the start, like I told you. \ud83d\ude42 This avoids issues with the web installer, and also means you download one thing, exactly once. So instead of <code style=\"font-family: consolas; background: #e4e4e4; padding: 3px 4px 1px 4px; border-radius: 3px;\">Basic<\/code> or <code style=\"font-family: consolas; background: #e4e4e4; padding: 3px 4px 1px 4px; border-radius: 3px;\">Custom<\/code>, choose the <code style=\"font-family: consolas; background: #e4e4e4; padding: 3px 4px 1px 4px; border-radius: 3px;\">Download Media<\/code> option:<\/p>\n<p><img decoding=\"async\" style=\"width: 80%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-download.png\" \/><\/p>\n<p>Then choose the ISO or the CAB option. I&#8217;m going to assume you&#8217;ll pick ISO because that&#8217;s what I always pick. I honestly don&#8217;t even remember what you do with a CAB file. An ISO is easy to mount from anywhere, which means you can throw it on the network or external drive and never have to download it (or copy it to your machine) again:<\/p>\n<p><img decoding=\"async\" style=\"width: 70%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-choose-media.png\" \/><\/p>\n<p>Open the folder and verify the ISO file is there:<\/p>\n<p><img decoding=\"async\" style=\"width: 70%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-open-folder.png\" \/><\/p>\n<p>I&#8217;m trying to say this in as many ways as I can, to make sure there is no misinterpretation: download the ISO; don&#8217;t use the web installer.<\/p>\n<h4 id=\"slip\">Slipstream updates<\/h4>\n<p>You typically want to make sure you&#8217;re updating to the latest cumulative update, or a specific patch level (including GDR) if you are trying to replicate something or need to match a specific environment. (I talk about <a href=\"https:\/\/sqlblog.org\/2022\/06\/24\/cu-vs-gdr\" target=\"_blank\" rel=\"noopener\">CUs and GDRs here<\/a>.) And you can do this without having to run two installers by &#8220;slipstreaming.&#8221; For SQL Server 2022, you can find all the publicly available updates in the Microsoft Catalog:<\/p>\n<p><img decoding=\"async\" style=\"width: 95%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-update-catalog.png\" \/><\/p>\n<p>Clicking &#8220;Download&#8221; on the update you want will open this popup; right-click and choose the &#8220;Save link as&#8230;&#8221; option:<\/p>\n<p><img decoding=\"async\" style=\"width: 60%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-download-update.png\" \/><\/p>\n<p>I generally put this into the same place I saved the ISO (in my case, <code style=\"font-family: consolas; background: #e4e4e4; padding: 3px 4px 1px 4px; border-radius: 3px;\">D:\\upgrade<\/code>).<\/p>\n<h4>Mount the ISO<\/h4>\n<p>Now, right-click the ISO and choose <code style=\"font-family: consolas; background: #e4e4e4; padding: 3px 4px 1px 4px; border-radius: 3px;\">Mount<\/code>:<\/p>\n<p><img decoding=\"async\" style=\"width: 60%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-mount-iso.png\" \/><\/p>\n<p>This will open an Explorer window with what looks like a DVD drive, and it will be labeled with a certain drive letter (in my case, H:).<\/p>\n<p><img decoding=\"async\" style=\"width: 60%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-dvd-drive.png\" \/><\/p>\n<h4>Run setup.exe as an administrator<\/h4>\n<p>Next, open a Command Prompt <em>as an administrator<\/em>, to be sure you avoid failures running the installer with insufficient permissions:<\/p>\n<p><img decoding=\"async\" style=\"width: 40%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-run-cmd.png\" \/><\/p>\n<p>And run the following (replacing drive letters and paths appropriately):<\/p>\n<pre class=\"theme:tomorrow-night font:consolas font-size:14 line-height:16 decode-attributes:false tab-convert:true lang:rexx decode:true whitespace-before:1 whitespace-after:1\"> H:\\setup.exe \/action=upgrade \/updatesource=d:\\upgrade<\/pre>\n<p>Now you&#8217;re right back where you would have been if you had started setup by inserting a physical CD or DVD into your computer, like we used to do back in the before times. If you just double-click <code style=\"font-family: consolas; background: #e4e4e4; padding: 3px 4px 1px 4px; border-radius: 3px;\">setup.exe<\/code>, select the &#8220;Upgrade from a previous version of SQL Server&#8221; option:<\/p>\n<p><img decoding=\"async\" style=\"width: 70%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-installation-center.png\" \/><\/p>\n<p>(Unless you are installing from scratch or want 2022 side by side, in which case you choose the &#8220;New SQL Server standalone&#8221; option at the top.)<\/p>\n<p>In either case, you may be told you need to restart your computer. Go ahead and do that. Or, if you want to prevent that check from happening, add this to your setup command:<\/p>\n<p><pre class=\"theme:tomorrow-night font:consolas font-size:14 line-height:16 decode-attributes:false tab-convert:true lang:ps decode:true whitespace-before:1 whitespace-after:1\"> \/SkipRules=RebootRequiredCheck<\/pre>\n<p>Next, you&#8217;ll notice that it picks up the most recent update you put in the <code style=\"font-family: consolas; background: #e4e4e4; padding: 3px 4px 1px 4px; border-radius: 3px;\">\/updatesource<\/code> folder:<\/p>\n<p><img decoding=\"async\" style=\"width: 70%; border: 1px solid black; min-width: 320px;\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/01\/upgrade-dev-update-source.png\" \/><\/p>\n<p>Pick the right instance on the &#8220;Select Instance&#8221; screen, and it should be smooth sailing from there. You&#8217;ll have to repeat from the <code style=\"font-family: consolas; background: #e4e4e4; padding: 3px 4px 1px 4px; border-radius: 3px;\">setup.exe<\/code> step for any other instances you want to upgrade to the same version.<\/p>\n<h3>Conclusion<\/h3>\n<p>Getting SQL Server upgraded (or installed from scratch) on your workstation can be a challenge, especially if you rely on the web installer. Don&#8217;t do that! At most you should use the web installer as a vehicle to download the ISO, and that&#8217;s it. Happy installing!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lately, I&#8217;ve seen many people struggling to upgrade their workstation to the latest version of SQL Server. The main source of the problem is usually the web installer\/wrapper, which can fail for a variety of reasons that aren&#8217;t always made clear by the error messages. Today, I&#8217;m going to walk through one way you can&#8230;&hellip;<\/p>\n","protected":false},"author":341115,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[143527,53],"tags":[4151],"coauthors":[158980],"class_list":["post-101226","post","type-post","status-publish","format-standard","hentry","category-database-administration-sql-server","category-featured","tag-sql-server"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/101226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/341115"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=101226"}],"version-history":[{"count":18,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/101226\/revisions"}],"predecessor-version":[{"id":101550,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/101226\/revisions\/101550"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=101226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=101226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=101226"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=101226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}