<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Server Consulting &#8211; Straight Path Solutions</title>
	<atom:link href="http://straightpathsql.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://straightpathsql.com/</link>
	<description>Database Managed Services and Pain Relief. Sleep at night!</description>
	<lastBuildDate>Thu, 23 Jul 2026 20:19:03 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://straightpathsql.com/wp-content/uploads/2026/03/cropped-straight-path-solutions-logo-square-32x32.png</url>
	<title>SQL Server Consulting &#8211; Straight Path Solutions</title>
	<link>https://straightpathsql.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>SQL Server 2016 &#8211; But still, it&#8217;s farewell&#8230;</title>
		<link>https://straightpathsql.com/sql-server-2016-but-still-its-farewell/</link>
					<comments>https://straightpathsql.com/sql-server-2016-but-still-its-farewell/#respond</comments>
		
		<dc:creator><![CDATA[Mike Walsh]]></dc:creator>
		<pubDate>Mon, 20 Jul 2026 12:00:06 +0000</pubDate>
				<category><![CDATA[Migrations & Upgrades]]></category>
		<category><![CDATA[Microsoft Support]]></category>
		<category><![CDATA[SQL Server 2016 The Final Countdown]]></category>
		<category><![CDATA[sql server migration]]></category>
		<category><![CDATA[sql server upgrade]]></category>
		<guid isPermaLink="false">https://straightpathsql.com/?p=4953</guid>

					<description><![CDATA[<p>This post is part of our series &#8220;SQL Server 2016 &#8211; The Final Countdown.&#8221; Welp, it&#8217;s all done. The final countdown came and went&#8230; SQL Server 2016 is as dead as the parrot purported to be pining the for the fjords. I mean actually, it&#8217;s a bit more like that parrot than you&#8217;d imagine. But ... <a title="SQL Server 2016 &#8211; But still, it&#8217;s farewell&#8230;" class="read-more" href="https://straightpathsql.com/sql-server-2016-but-still-its-farewell/" aria-label="Read more about SQL Server 2016 &#8211; But still, it&#8217;s farewell&#8230;">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-but-still-its-farewell/">SQL Server 2016 &#8211; But still, it&#8217;s farewell&#8230;</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This post is part of our series <strong>&#8220;SQL Server 2016 &#8211; The Final Countdown.&#8221;</strong></em></p>



<p class="wp-block-paragraph"><strong>Welp, it&#8217;s all done. </strong>The final countdown came and went&#8230; SQL Server 2016 is as dead as the parrot purported to be pining the for the fjords. I mean actually, it&#8217;s a bit more like that parrot than you&#8217;d imagine. But if you&#8217;ve done nothing about it, it&#8217;s definitely dead for you. And in the song that Jeff and I decided to use as the theme song for the post series, Europe posited, &#8220;I guess there is no one to blame&#8221; a couple lines before asking &#8220;Will things ever b the same again?&#8221;. They&#8217;re wrong, if you&#8217;re still on SQL Server 2016, someone somewhere in your organization is to blame. And no, if you stay there, things will not be the same. I mean they literally will be, but <strong>when the compliance team or lawyers (or the CFO) come lookin</strong>g, they&#8217;ll want to find that one who is to blame. SQL Server 2016s resilience out there is some sort of a strange testament to how well it&#8217;s built, maybe we&#8217;ll all miss her so. But anyway it <strong>was</strong> the final countdown. Yeah.</p>



<h2 id="h-sql-server-2016-is-dead-what-do-you-do-now" class="wp-block-heading">SQL Server 2016 is Dead &#8211; What do you do now?</h2>



<p class="wp-block-paragraph">Jeff summed this up in the post he wrote when he kicked off the series. You have three options:</p>



<p class="wp-block-paragraph"><strong>Choose Not To Decide &#8211; </strong>Neil Peart wrote it best &#8211;<em> if you choose not to decide you still have made a choice</em>&#8230; You can choose to stay on SQL Server 2016 and do nothing for the extended updates. If you&#8217;ve chosen that (or put of the decision) this is what you&#8217;ve decided:</p>



<ul class="wp-block-list">
<li><strong>No more feature updates or bug fixes</strong></li>



<li><strong>No more security updates</strong> &#8211; This is the one that should scare the heck out of your compliance folks and any executives in the path to that decision. You&#8217;re signing up for security risks just when the AI tools are making security patches get more and more serious. Vulnerabilities are being discovered left and right, vulnerability hunters are getting mad about missed payouts and threatening to release the things they are finding, bad actors are using just as many tokens as folks are for their homegrown tools. This is the kind of stuff that comes up in the lawsuits.</li>



<li><strong>No new features/improvements/updates &#8211; </strong>If you are a software vendor and you aren&#8217;t supporting the latest versions of SQL Server, you are waving the white flag. If you are hosting data that anyone anywhere cares about and you aren&#8217;t on at least SQL Server 2019, it&#8217;s some sort of a strange message you are sending to your customers and partners about what you think of security. And if you aren&#8217;t paying through the nose for the potential to at least maybe get some security updates, you should just rip up any of your compliance attestations. You are more living on prayers.</li>
</ul>



<p class="wp-block-paragraph"><strong>Help Microsoft Get Richer &#8211; </strong>You can use the sort of complicated and expensive Extended Security Update (ESU) process Microsoft has created to let you pay through the nose for security updates. You can read about the options to pay for it <a href="https://techcommunity.microsoft.com/blog/sqlserver/sql-server-2016-extended-security-updates-stay-protected-while-you-modernize/4529478">here</a>. But this is what this approach means:</p>



<ul class="wp-block-list">
<li><strong>You pay an expensive &#8220;license price&#8221; equivalent for this &#8220;privilege&#8221; &#8211; </strong>This is priced by 2 core pack (like licenses) and you are paying somewhere around $3,336 to $13,000 <strong>per two core pack per year from what I&#8217;ve seen. And I&#8217;ve seen some confusion around if it will be a stable price over the 3 years or an increasing one &#8211; it seems like it will now be a stable price &#8211; just shy of new licenses but I am not even 100% sure there because I&#8217;ve seen a few different articles published. </strong></li>



<li><strong>You are only getting Critical Security Updates </strong>&#8211; And it&#8217;s not you and I who decide what critical looks like. And if you look at the pace of vulnerabilities and even a recent argument between an exploit hunter and Microsoft that has spilled over into the public sphere, you can see that not all agree on what is critical and what isn&#8217;t. Microsoft is busy, they are obsessed with Fabric and Cloud and new products, I wouldn&#8217;t bet my clients&#8217; data on SQL Server 2016 getting a lot of attention for critical updates.</li>



<li><strong>You are kicking the can and getting complacent &#8211; </strong>For a tiny bit less than the cost of upgrading and getting modernized, you are purposefully deciding to stay on a ten year old product. </li>
</ul>



<p class="wp-block-paragraph"><strong>Upgrade/Migrate &#8211; </strong>You can upgrade to a more modern version of SQL Server (don&#8217;t go to SQL Server 2017, you&#8217;ll be reading these same posts next year and all we have to do is republish with a find and replace for 2016 to 2017&#8230;) Yeah upgrading sounds really scary (and if you do an in-place upgrade it will be) but in the grand scheme of things upgrading SQL Server isn&#8217;t really that big of a task for most folks. We have a ton of posts and an entire video series (it&#8217;s a bit older but much of it still applies) on upgrading SQL Server. Check out <a href="https://straightpathsql.com/tag/upgrade/" data-type="post_tag" data-id="45">these </a><a href="https://straightpathsql.com/tag/sql-upgrade/" data-type="post_tag" data-id="344">tags </a>on the <a href="https://straightpathsql.com/tag/sql-server-upgrade/" data-type="post_tag" data-id="365">blog</a> (tell me you have some tag cleanup left to do without telling me you do&#8230;). You can modernize, eliminate the compliance and finance risk of the above two options and for a lot of clients, you can look to license efficiency, consolidation, and even look at if you still need Enterprise Edition (SQL Server 2025 gives you 256GB of RAM now&#8230; We&#8217;ve helped a lot of clients move from Enterprise to Standard and modernize to the cloud or their own data centers in the process of upgrades.)</p>



<p class="wp-block-paragraph">A well-planned migration to SQL Server 2025 or SQL Server 2022 doesn&#8217;t have to be as scary as the prospect sounds. With some simple planning, simple build out, testing, and compatibility mode settings &#8211; we&#8217;ve helped many shops move to a supported version of SQL Server in as little as 20 hours of consulting time for simple environments and a bit more as complexity (sprawl, availability options, etc.) dictate. If you&#8217;d like to talk about this &#8211; <a href="https://straightpathsql.com/contact/">reach out</a> &#8211; we&#8217;re happy to have a consulting chat with you and you&#8217;ll probably walk away with some thoughts on how this can and should look even if you wind up doing the work yourself.  I&#8217;m happy to point someone in the right direction especially if it means one more SQL Server 2016 (or 2017) instance is placed out of service on purpose.</p>



<h2 id="h-check-out-the-rest-of-the-posts-in-this-series" class="wp-block-heading">Check Out the Rest of the Posts In this Series</h2>



<ul class="wp-block-list">
<li><a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-what-end-of-support-means-and-why-you-should-care/">What End of Support Means and Why You Should Care</a></li>



<li><a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-features-deprecated-and-discontinued-since-sql-server-2016/">Features Deprecated and Discontinued Since SQL Server 2016</a></li>



<li><a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-key-features-from-sql-server-versions-2017-2025/">Key Features from SQL Server versions 2017, 2019, 2022, 2025</a></li>



<li><a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-sql-server-2016-is-becoming-a-serious-security-risk/">SQL Server 2016 Is Becoming a Serious Security Risk</a> (Note &#8211; I say &#8220;has become/is&#8221;)</li>



<li><a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-assessing-your-sql-server-2016-estate/">Assessing your SQL Server 2016 Estate</a></li>
</ul>



<p class="wp-block-paragraph">Thanks to Jeff Iannucci for a lot of heavy lifting in this series and to Mike Lynn for the security take also. At the end of the day &#8211; we live in a litigious, risky world with lots of threat actors, tools that make exploiting holes easier, and if you are running SQL Server 2016 or SQL Server 2017 (because the SQL Server 2017 end of life is coming in 15 months.) and not paying scores to hundreds of thousands of dollars a year to Microsoft for the hope of maybe getting a security update, you are gambling with your customers&#8217; data. It&#8217;s that simple. And I&#8217;m telling you &#8211; upgrading a SQL Server is a lot less risk and work than you&#8217;d imagine. We do dozens of them a year for our 130+ clients under management with us, so maybe it&#8217;s just become second nature. If you have any questions leave a comment or send an e-mail or contact us. I&#8217;m happy to point you in the right direction whether you become a customer or not.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-but-still-its-farewell/">SQL Server 2016 &#8211; But still, it&#8217;s farewell&#8230;</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://straightpathsql.com/sql-server-2016-but-still-its-farewell/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Settings and configurations you should never touch in SQL Server</title>
		<link>https://straightpathsql.com/settings-and-configurations-you-should-never-touch-in-sql-server/</link>
					<comments>https://straightpathsql.com/settings-and-configurations-you-should-never-touch-in-sql-server/#respond</comments>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Mon, 13 Jul 2026 12:00:00 +0000</pubDate>
				<category><![CDATA[Database Administration]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server config]]></category>
		<guid isPermaLink="false">https://straightpthdev.wpenginepowered.com/?p=4633</guid>

					<description><![CDATA[<p>One of my favorite movies from my youth was Terry Gilliam’s Time Bandits. It’s about a young boy who gets accidentally caught up with some time-travelling thieves, who are being chased by forces of good and evil. And, without giving too much away, at the end of the movie the lead character shouts “Don’t touch ... <a title="Settings and configurations you should never touch in SQL Server" class="read-more" href="https://straightpathsql.com/settings-and-configurations-you-should-never-touch-in-sql-server/" aria-label="Read more about Settings and configurations you should never touch in SQL Server">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/settings-and-configurations-you-should-never-touch-in-sql-server/">Settings and configurations you should never touch in SQL Server</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">One of my favorite movies from my youth was Terry Gilliam’s <a href="https://www.imdb.com/title/tt0081633/">Time Bandits</a>. It’s about a young boy who gets accidentally caught up with some time-travelling thieves, who are being chased by forces of good and evil.</p>



<p class="wp-block-paragraph">And, without giving too much away, at the end of the movie the lead character shouts “Don’t touch it! It’s evil!” Which is <em>exactly </em>how you should think about some of the configuration options in SQL Server.</p>



<p class="wp-block-paragraph">SQL Server has quite a few instance and database configuration options, which is great if you need to make changes for different business workloads. But some of these configurations can do more harm than good, especially with modern version of the product.</p>



<p class="wp-block-paragraph">As a consultant, I’ve had the opportunity to work with many clients who have a diverse range of configurations for their instances. And every now and then I see some that have been configured for what I can only presume is a predilection for danger. I mean, little to no good can come of them.</p>



<p class="wp-block-paragraph">So today I wanted to share with you a few that I have seen used or changed, and to recommend to you with all the influence that I may have, that you DON’T TOUCH THEM – THEY’RE EVIL!</p>



<p class="wp-block-paragraph">In plain words, here are some things in SQL Server you should never touch (or at least should have a very, very specific reason for even thinking about touching) in 2026. And I’m only mentioning them because I’ve seen them changed somewhere and had to clean up the mess.</p>



<h2 id="h-database-level-settings" class="wp-block-heading"><strong>Database-level settings</strong></h2>



<p class="wp-block-paragraph"><strong>Auto Close.</strong>&nbsp; Enabling this closes the database when the last user disconnects, requiring it to reopen (with all the overhead of recovery, cache rebuilding, etc.) on the next connection. This made some sense on resource-constrained 1990s desktops; today it just causes inexplicable latency spikes and clutters the error log. Always leave it OFF.</p>



<p class="wp-block-paragraph"><strong>Auto Shrink</strong>. Enabling this periodically shrinks data and log files. And when is “periodically”? Like Monty Python’s Spanish Inquisition, it’s when you least expect it. These shrink events cause massive index fragmentation, generates huge amounts of I/O, and best of all, the files usually just grow right back. It&#8217;s a textbook example of a setting that sounds helpful but actively harms performance. Always leave it OFF.</p>



<p class="wp-block-paragraph"><strong>Auto Create Statistics. </strong>Leave it ON, which is the default. Disabling this is almost always a mistake, because the optimizer needs statistics to make good plans. Sometimes clients turn this off because they &#8220;manage statistics manually&#8221; and of course that never ends well.</p>



<p class="wp-block-paragraph"><strong>Auto UPDATE Statistics. </strong>Same story, leave it ON. If you&#8217;re worried about updates happening at bad times, enable AUTO_UPDATE_STATISTICS_ASYNC as a reasonable middle ground for OLTP workloads.</p>



<p class="wp-block-paragraph"><strong>Delayed Durability.</strong> Setting this to FORCED allows transactions to commit before the log record is hardened to disk. This means you&#8217;re trading durability for throughput, which means a power loss or crash can lose committed transactions. In plain English, that means lost data. There are narrow OLTP-with-log-bottleneck scenarios where it&#8217;s defensible, but even those should use ALLOWED instead of enabling it database-wide. It’s best to leave it DISABLED unless you have a clearly defined use case, and the business has explicitly accepted data loss risk.</p>



<p class="wp-block-paragraph"><strong>Page Verify = NONE</strong> or <strong>TORN_PAGE_DETECTION. </strong>CHECKSUM has been the best answer for page verification since SQL Server 2005. Unfortunately, some folks keep copying databases from before Y2K from instance to instance (or worse, installing in-place upgrades) without ever changing this setting. The other older options leave you blind to certain forms of corruption, and corruption is also evil.</p>



<p class="wp-block-paragraph"><strong>Recursive Triggers.</strong> Enabling this allows for a trigger to call another trigger, which could potentially call another trigger, which could potentially call another trigger, which could…see, infinite loops are no fun. Leave this OFF.</p>



<p class="wp-block-paragraph"><strong>Trustworthy.</strong> For security reasons, please, please, please do NOT turn this on. Enabling this allows code in the database to access resources outside it under the database owner&#8217;s context. If the owner is a high-privilege account (like sa or some other sysadmin), then this is an easy privilege escalation path for malicious actors. That said, you might be told this setting is required for some specific scenarios, but if that’s the case then you should audit the activity of any database with this on.</p>



<p class="wp-block-paragraph"><strong>DB Chaining</strong>. Enabling this allows for cross-database ownership chaining. This is also a security risk, for similar reasons to TRUSTWORTHY. Leave it OFF unless specifically required by someone who has signed in blood (metaphorically speaking, of course) that they know what this does.</p>



<h2 id="h-instance-level-settings" class="wp-block-heading"><strong>Instance-level settings</strong></h2>



<p class="wp-block-paragraph"><strong>Common criteria compliance enabled.</strong> Off by default, so only enable if you require Common Criteria certification compliance. This setting changes login auditing, residual information protection, and column GRANT behavior in ways that can… let’s just say surprises people, and in a bad way.</p>



<p class="wp-block-paragraph"><strong>C2 audit mode.</strong> Also OFF by default. If you turn this ON, it generates massive trace files and will <em>shut down the instance if it can&#8217;t write audit data</em>. Sounds like fun, right? SQL Server Audit is a better option for modern versions.</p>



<p class="wp-block-paragraph"><strong>Default trace enabled</strong>. This is ON by default. Turning this OFF blinds you to a lot of auditing information for negligible performance benefit. Only an anarchist would change this.</p>



<p class="wp-block-paragraph"><strong>Fill factor (%). </strong>Server-wide fill factor default should be left at 0 (which means 100% of your data pages are filled with delicious data). Setting a server-wide non-zero value applies to <em>every</em> index that doesn&#8217;t specify its own, which is almost always wrong. Only set fill factor per index based on the index&#8217;s update pattern.</p>



<p class="wp-block-paragraph"><strong>Lightweight pooling (also called “fiber mode”).</strong>  This sounds modern, but it solves a problem that effectively doesn&#8217;t exist on modern hardware. And by modern I mean your CPUs are from the 21<sup>st</sup> Century. Almost no workload benefits, and it breaks CLR, OLE DB/linked servers, and various other features that rely on thread affinity, so Microsoft recommends never enabling it unless explicitly told to by Microsoft Support.</p>



<p class="wp-block-paragraph"><strong>Locks.</strong> Manually setting a lock count was a thing in the SQL 7/2000 era, but you don’t need to do that now. Leave it at the default of 0 (dynamic) and let SQL Server manage the locks.</p>



<p class="wp-block-paragraph"><strong>Min server memory.</strong> Leave it at the default is 0. Setting this aggressively high is a common mistake, where people think it &#8220;reserves&#8221; memory for SQL Server, but SQL Server doesn&#8217;t actually allocate at this value at startup. The setting actually sets a floor below which SQL Server won&#8217;t release memory under pressure, and that can make the OS cranky with memory limitations. If Windows ain&#8217;t happy, ain&#8217;t nobody happy.</p>



<p class="wp-block-paragraph"><strong>Ole Automation Procedures.</strong> This is OFF by default. In 2008 you may have thought using sp_OACreate and other related procs was cool, but now this is significant a security concern and a sign of legacy code that should be rewritten.</p>



<p class="wp-block-paragraph"><strong>Priority Boost.</strong> It’s 2026 and this is still in the product, and I still every now and again see instances with this enabled. Because it sounds magical, right? Sure, magical like Voldemort, because it raises SQL Server&#8217;s process priority above the OS itself, which can starve critical OS threads (including the ones SQL Server depends on) and cause cluster failures. Always leave it OFF, because <a href="https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-the-priority-boost-server-configuration-option?view=sql-server-ver17">Microsoft has deprecated it and explicitly recommends never enabling it.</a></p>



<p class="wp-block-paragraph"><strong>User connections.</strong> You can set this up to 32,767 but leave it at 0 (which means no manual limit). Setting a manual cap creates a weird ceiling that can cause connection failures during traffic spikes.</p>



<h2 id="h-summary" class="wp-block-heading"><strong>Summary</strong></h2>



<p class="wp-block-paragraph">I know that’s quite a few settings to consider, but think of all these as things you never need to know about…unless you see someone has turned them on. And at that point, you should start asking questions.</p>
<p>The post <a href="https://straightpathsql.com/settings-and-configurations-you-should-never-touch-in-sql-server/">Settings and configurations you should never touch in SQL Server</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://straightpathsql.com/settings-and-configurations-you-should-never-touch-in-sql-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SQL Server database states for people in a panic</title>
		<link>https://straightpathsql.com/sql-server-database-states-for-people-in-a-panic/</link>
					<comments>https://straightpathsql.com/sql-server-database-states-for-people-in-a-panic/#respond</comments>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Thu, 09 Jul 2026 12:00:00 +0000</pubDate>
				<category><![CDATA[Database Administration]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<guid isPermaLink="false">https://straightpthdev.wpenginepowered.com/?p=4631</guid>

					<description><![CDATA[<p>I’ve recently been asked by some folks about different states for SQL Server databases. Questions like “what’s the state of a database with log shipping?”, &#160;“can I fix a database in (whatever) state with a restart?”, &#160;and “which is the bad one, RECOVERY or RECOVERY PENDING?” Hopefully you don’t have to try to figure out ... <a title="SQL Server database states for people in a panic" class="read-more" href="https://straightpathsql.com/sql-server-database-states-for-people-in-a-panic/" aria-label="Read more about SQL Server database states for people in a panic">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-database-states-for-people-in-a-panic/">SQL Server database states for people in a panic</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I’ve recently been asked by some folks about different states for SQL Server databases. Questions like “what’s the state of a database with log shipping?”, &nbsp;“can I fix a database in (whatever) state with a restart?”, &nbsp;and “which is the bad one, RECOVERY or RECOVERY PENDING?”</p>



<p class="wp-block-paragraph">Hopefully you don’t have to try to figure out if your database is in a bad way or not because of an unusual state, but I presume when you do you will need to know as soon as possible. So, I’ve put this handy list of possible database states together to help you in your moment of need.</p>



<p class="wp-block-paragraph">And before we begin, I know <a href="https://learn.microsoft.com/en-us/sql/relational-databases/databases/database-states?view=sql-server-ver17">Microsoft has a page about database states</a>, but let’s be honest, it’s a bit sparse with the information. Hopefully this post can add to that, and answer some of your common questions about different database states, and do so in a hurry.</p>



<h2 id="h-online" class="wp-block-heading"><strong>ONLINE</strong></h2>



<p class="wp-block-paragraph"><strong>What does this mean?</strong> All files are online and the database is available for access. Your database is up and running. People can connect and execute queries of varying quality. This is the state you want every database to be in pretty much always.</p>



<p class="wp-block-paragraph"><strong>Is this bad?</strong> No, this is the desired state for a functioning database.</p>



<p class="wp-block-paragraph"><strong>Can I change this with a restart?</strong> No. Well, not unless you are an anarchist and want to live dangerously by moving data files around or changing the permissions for the SQL Server service.</p>



<p class="wp-block-paragraph"><strong>Any other notes?</strong> This is the best state for a database with the primary filegroup online, but if you just restarted the instance then the undo phase of recovery may not be complete yet. The database is available, but a few rows might still be locked while uncommitted transactions get rolled back. If users complain about weird blocking right after a failover or restart, this could be why.</p>



<p class="wp-block-paragraph">Also, you could still have <a href="https://straightpathsql.com/check/database-corruption/">corruption</a>, deadlocks, or runaway transaction log growth in this state, so be ready for anything.</p>



<h2 id="h-offline" class="wp-block-heading"><strong>OFFLINE</strong></h2>



<p class="wp-block-paragraph"><strong>What does this mean?</strong> Someone explicitly set the database to this unavailable state.</p>



<p class="wp-block-paragraph"><strong>Is this bad?</strong> It depends entirely on whether you meant to do it. If you took it offline to move a file to a different drive, then no, that&#8217;s normal maintenance. If you show up Monday morning and a production database is OFFLINE and nobody knows why, yes, that might be bad. Check the error log and ask around.</p>



<p class="wp-block-paragraph"><strong>Can I change this with a restart?</strong> No. Restarting SQL Server won&#8217;t bring an OFFLINE database back. But you should be able to bring it to ONLINE with ALTER DATABASE [YourDB] SET ONLINE to get it back.</p>



<p class="wp-block-paragraph"><strong>Any other notes?</strong> 99% of the time OFFLINE is a deliberate choice, not an accident. We recommend you find out who and why before you bring it back ONLINE, especially if it wasn&#8217;t you.</p>



<h2 id="h-restoring" class="wp-block-heading"><strong>RESTORING</strong></h2>



<p class="wp-block-paragraph"><strong>What does this mean?</strong> A restore is in progress for one or more files of the primary filegroup, or a restore was started with NORECOVERY and is waiting for more log backups before being recovered. Either way, nobody can use it right now.</p>



<p class="wp-block-paragraph"><strong>Is this bad?</strong> Not by itself. It&#8217;s normal during a restore. It&#8217;s only bad if it&#8217;s stuck there when you didn&#8217;t expect it to be, or if a restore failed partway through and now you can&#8217;t get it out of the state.</p>



<p class="wp-block-paragraph"><strong>Can I change this with a restart?</strong> No, and please DO NOT try. Restarting SQL Server while a database is RESTORING does nothing helpful and can leave you with a bigger mess. To finish the restore and bring the database online, run RESTORE DATABASE [YourDB] WITH RECOVERY. That tells SQL Server &#8220;I&#8217;m done restoring, finalize it.&#8221;</p>



<p class="wp-block-paragraph"><strong>Any other notes?</strong> You cannot set a RESTORING database to OFFLINE, ONLINE, or EMERGENCY. The only way out is to finish the restore (…WITH RECOVERY) or drop the database and start over. If your restore failed because the backup file is corrupt, you may have to drop and restart from a different backup.</p>



<p class="wp-block-paragraph">Also, this is the expected state for your databases that are being copied via Log Shipping.</p>



<h2 id="h-recovering" class="wp-block-heading"><strong>RECOVERING</strong></h2>



<p class="wp-block-paragraph"><strong>What does this mean?</strong> SQL Server is currently running recovery on the database, replaying the transaction log to bring everything to a consistent state. You&#8217;ll typically see this right after a restart, a failover, or bringing a database online.</p>



<p class="wp-block-paragraph"><strong>Is this bad?</strong> No, this is normal. It&#8217;s a transient state, so sit tight and let it finish. If recovery succeeds, the database moves to ONLINE on its own. If it fails, you end up in SUSPECT, which is a different conversation.</p>



<p class="wp-block-paragraph"><strong>Can I change this with a restart?</strong> No, and restarting in the middle of recovery just makes recovery start over from the beginning when SQL Server comes back up. You&#8217;re not helping, you&#8217;re prolonging the wait.</p>



<p class="wp-block-paragraph"><strong>Any other notes?</strong> If recovery is taking an exceptionally long time on a big database, that may be expected. A database with a giant transaction log or a long-running uncommitted transaction at the time of shutdown can take a while.</p>



<p class="wp-block-paragraph">Check the error log, since SQL Server reports recovery progress there as percentages. Also, read about and <a href="https://learn.microsoft.com/en-us/sql/relational-databases/accelerated-database-recovery-concepts?view=sql-server-ver17">consider Accelerated Database Recovery</a> if you are using SQL Server 2019 or later.</p>



<h2 id="h-recovery-pending" class="wp-block-heading"><strong>RECOVERY PENDING</strong></h2>



<p class="wp-block-paragraph"><strong>What does this mean?</strong> SQL Server tried to start recovery but bailed out because of some resource problem. The database isn&#8217;t necessarily damaged, but something is in the way. Common reasons include a missing data file, a missing log file, a permissions issue on the file, or the drive isn&#8217;t mounted.</p>



<p class="wp-block-paragraph"><strong>Is this bad?</strong> It’s not good, but it might not be serious. The data is probably fine, but you just need to fix whatever is hindering recovery.</p>



<p class="wp-block-paragraph"><strong>Can I change this with a restart?</strong> Often, yes, if the underlying problem was due to a drive being offline when SQL Server tried to start, but now the drive is available. In those cases, restarting the SQL Server service might let recovery finish. But if a file is genuinely missing, a restart accomplishes nothing.</p>



<p class="wp-block-paragraph"><strong>Any other notes?</strong> Look at the error log first. SQL Server tells you exactly why it couldn&#8217;t recover the database. Most of the time it&#8217;s a missing file or a permissions issue, and once you fix that, it’s easy to get back in business. Don&#8217;t panic and don&#8217;t reach for repair commands until you&#8217;ve actually read the error message.</p>



<h2 id="h-suspect" class="wp-block-heading"><strong>SUSPECT</strong></h2>



<p class="wp-block-paragraph"><strong>What does this mean?</strong> SQL Server tried recovery but it failed. The primary filegroup appears damaged, and SQL Server can&#8217;t bring the database to a consistent state. The database is unavailable.</p>



<p class="wp-block-paragraph"><strong>Is this bad?</strong> Yes. Most definitely. This is the state where you take a deep breath and start checking when your last good backup ran.</p>



<p class="wp-block-paragraph"><strong>Can I change this with a restart?</strong> No. Restarting won&#8217;t fix it. Recovery already failed once. It will fail again.</p>



<p class="wp-block-paragraph"><strong>Any other notes?</strong> The most common root causes are related to storage or I/O failures, so you can blame your system admins or network admins, or maybe some vendor. Not that it would solve the problem though. Other causes include recovery failures where the data and log files aren’t in sync, logical consistency errors detected, and even availability group issues. As ever, start by reviewing the error log.</p>



<p class="wp-block-paragraph">At this state your options are:</p>



<ol class="wp-block-list">
<li>Restore from your last known good backup. This is most frequently the right answer if you have backups that are both recent and restorable. However, if you haven’t completed a DR test in a while, this could be a resume generating event.</li>



<li>If you have no recent and restorable backup (and shame shame shame on whoever let that happen), you can set the database to EMERGENCY state noted below, and then try some database surgery, which means likely data amputation.</li>



<li>If repair fails too, keep the database in EMERGENCY and try to copy data out to a fresh database. But be aware that if this was caused by a storage or an I/O error, you may have a hardware problem that will corrupt the next database too if you don&#8217;t address it.</li>
</ol>



<h2 id="h-emergency" class="wp-block-heading"><strong>EMERGENCY</strong></h2>



<p class="wp-block-paragraph"><strong>What does this mean?</strong> Somebody with sysadmin rights manually and explicitly set this state, presumably to try database surgery. The database is now marked as READ_ONLY with logging disabled. Only sysadmins can connect.</p>



<p class="wp-block-paragraph"><strong>Is this bad?</strong> Well, a human (or maybe your new AI Agent?) did this, and that’s almost always because something else already went wrong. The EMERGENCY state itself isn&#8217;t the problem, since the database was already broken.</p>



<p class="wp-block-paragraph"><strong>Can I change this with a restart?</strong> No, restarting won&#8217;t get you out of EMERGENCY. You have to either run a successful repair, restore from backup, or try to manually set it back with ALTER DATABASE.</p>



<p class="wp-block-paragraph"><strong>Any other notes?</strong> EMERGENCY exists for two reasons: to let you read data out of an otherwise dead database, and to allow DBCC CHECKDB with REPAIR_ALLOW_DATA_LOSS to run. The name of that option tells you everything you need to know about how it works, so that option should be a last resort. Microsoft explicitly says it can lose more data than restoring from a known good backup.</p>



<p class="wp-block-paragraph">If you find yourself reaching for EMERGENCY mode in production, the real problem is that you didn&#8217;t have a usable backup, and that&#8217;s the lesson to take away. Now might be a good time to try out our <a href="https://straightpathsql.com/tool/sp_checkbackup/">free sp_CheckBackup tool</a> to find out what’s up with your database backups.</p>
<p>The post <a href="https://straightpathsql.com/sql-server-database-states-for-people-in-a-panic/">SQL Server database states for people in a panic</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://straightpathsql.com/sql-server-database-states-for-people-in-a-panic/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SQL Server 2016 – the Final Countdown: Assessing Your SQL Server 2016 Estate</title>
		<link>https://straightpathsql.com/sql-server-2016-the-final-countdown-assessing-your-sql-server-2016-estate/</link>
					<comments>https://straightpathsql.com/sql-server-2016-the-final-countdown-assessing-your-sql-server-2016-estate/#respond</comments>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Wed, 08 Jul 2026 15:48:04 +0000</pubDate>
				<category><![CDATA[Migrations & Upgrades]]></category>
		<category><![CDATA[Microsoft Support]]></category>
		<category><![CDATA[SQL Server 2016 The Final Countdown]]></category>
		<category><![CDATA[sql server migration]]></category>
		<category><![CDATA[sql server upgrade]]></category>
		<guid isPermaLink="false">https://straightpathsql.com/?p=4869</guid>

					<description><![CDATA[<p>This post is part of a series we are calling&#160;“SQL Server 2016 – The Final Countdown.” If you are reading this and you still have SQL Server 2016 instances kicking around, let this be yet another post reminding you that extended support for that version ends on July 14, 2026. If this is news to ... <a title="SQL Server 2016 – the Final Countdown: Assessing Your SQL Server 2016 Estate" class="read-more" href="https://straightpathsql.com/sql-server-2016-the-final-countdown-assessing-your-sql-server-2016-estate/" aria-label="Read more about SQL Server 2016 – the Final Countdown: Assessing Your SQL Server 2016 Estate">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-assessing-your-sql-server-2016-estate/">SQL Server 2016 – the Final Countdown: Assessing Your SQL Server 2016 Estate</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This post is part of a series we are calling&nbsp;<strong>“SQL Server 2016 – The Final Countdown.”</strong></em></p>



<p class="wp-block-paragraph">If you are reading this and you still have SQL Server 2016 instances kicking around, let this be yet another post reminding you that extended support for that version ends on <strong>July 14, 2026</strong>. If this is news to you, Microsoft has laid out the details here: <a href="https://learn.microsoft.com/en-us/sql/sql-server/end-of-support/sql-server-end-of-support-overview?view=sql-server-ver17">SQL Server end of support options</a>.</p>



<p class="wp-block-paragraph">Now, trying to figure out what SQL Server 2016 instances you actually have running sounds like it should be the easy part of a migration project, but it may not be. If you start looking you might find at least one instance nobody remembers owning, one database that three different apps depend on, or one linked server pointing at something that was decommissioned&#8230;when? Before you can plan a migration from SQL Server 2016, you need an honest inventory, and by that I mean not the inventory in a spreadsheet from the year 2016.</p>



<p class="wp-block-paragraph">So now, let&#8217;s walk through tools you can use to build that inventory.</p>



<h2 id="h-map-toolkit" class="wp-block-heading"><strong>MAP Toolkit</strong></h2>



<p class="wp-block-paragraph">For years the go-to answer here was the Microsoft Assessment and Planning Toolkit, better known as MAP Toolkit. It&#8217;s still around, and you can still download it directly from Microsoft today at the <a href="https://www.microsoft.com/en-us/download/details.aspx?id=7826">MAP Toolkit download page</a>, and it will still run.</p>



<p class="wp-block-paragraph">However, Microsoft has stopped maintaining and supporting it. That same download page states plainly that there is no support available, and it explicitly recommends using Azure Migrate instead. There have been no updates to the MAP Toolkit in about two years, so if a scan comes back wrong, you’re pretty much on your own.</p>



<p class="wp-block-paragraph">To be clear: the MAP Toolkit isn&#8217;t discontinued (yet), but it is orphaned. It’s still there and still installable, but there’s nobody answering the phone if you need help, and it’s not getting updated for anything ever again.</p>



<h2 id="h-azure-migrate-or-whatever-it-s-called-this-week" class="wp-block-heading"><strong>Azure Migrate (or whatever it’s called this week)</strong></h2>



<p class="wp-block-paragraph">As for <a href="https://azure.microsoft.com/en-us/services/azure-migrate/">Azure Migrate</a>, or as the web page calls it this week “Azure Copilot migration agent built on the Azure Migrate platform,” handles discovery, dependency mapping, and assessment, and as noted earlier, it is the tool Microsoft actively points people toward now.</p>



<p class="wp-block-paragraph">Before you can assess anything, you need a complete and current list of every SQL Server instance in the estate. This is where the forgotten instance problem shows up the most. For example: Developer edition installs on someone&#8217;s old laptop that somehow became load bearing, or a reporting instance spun up during a project that never got decommissioned, or an Express edition got included inside a business app server.</p>



<p class="wp-block-paragraph">If your ultimate target is Azure, Azure Migrate&#8217;s SQL assessment feature will take a lot of this data and translate it directly into a sizing and readiness recommendation. You can read more about that in the <a href="https://learn.microsoft.com/en-us/azure/migrate/migrate-services-overview">Azure Migrate documentation</a>.</p>



<h2 id="h-dbatools" class="wp-block-heading"><strong>dbatools</strong></h2>



<p class="wp-block-paragraph">While Active Directory and network scans can surface instances that nobody remembers registering anywhere, these can be tedious and you as a “Database [whatever title you have]” may not be able to use them.</p>



<p class="wp-block-paragraph">For us at Straight Path, <a href="https://dbatools.io/">dbatools</a> is what we often use, and the good news is it is very much alive and actively developed. This is a free, open source PowerShell module built specifically for SQL Server administration and migrations, and it is updated regularly.</p>



<p class="wp-block-paragraph">Once you have a list of servers, or even a subnet to scan, dbatools commands like <a href="https://docs.dbatools.io/Find-DbaInstance.html">Find-DbaInstance</a> can help identify SQL Server instances that are reachable on the network, and <a href="https://docs.dbatools.io/Test-DbaConnection.html">Test-DbaConnection</a> will confirm what you can actually get into. From there, <a href="https://docs.dbatools.io/Get-DbaService.html">Get-DbaService</a> will show you every SQL related service on a box, engine, agent, browser, and full text, which tells you a lot about what that instance is actually doing.</p>



<p class="wp-block-paragraph">If you already maintain a Central Management Server or a list of registered servers, <a href="https://docs.dbatools.io/Get-DbaRegServer.html">Get-DbaRegServer</a> (renamed a while back from Get-DbaRegisteredServer, in case you have old scripts lying around) will pull that list so you have a starting point to expand from rather than starting cold.</p>



<p class="wp-block-paragraph">All these require a bit of PowerShell knowledge, but the tools make it very easy for you with excellent documentation and examples. You can even dig deep into the source code at the <a href="https://github.com/dataplat/dbatools">dbatools GitHub repository</a>.</p>



<h2 id="h-using-dbatools-for-a-database-level-inventory" class="wp-block-heading"><strong>Using dbatools for a database-level inventory</strong></h2>



<p class="wp-block-paragraph">Once you know your instances, the next layer is what is actually living on them. <a href="https://docs.dbatools.io/Get-DbaDatabase.html">Get-DbaDatabase</a> across your instance list will give you names, sizes, compatibility levels, recovery models, and owner information in one pass instead of clicking through SSMS Object Explorer eleventeen zillion times.</p>



<p class="wp-block-paragraph">I suggest that you pay close attention to compatibility levels. A database sitting at compatibility level 100 on a SQL Server 2016 instance is a completely different migration conversation than one already bumped up, and it tells you something about how carefully that database has been maintained.</p>



<p class="wp-block-paragraph">This is also a good moment to run <a href="https://docs.dbatools.io/Get-DbaLastBackup.html">Get-DbaLastBackup</a> or our own <a href="https://straightpathsql.com/introducing-sp_checkbackup-check-your-sql-server-backups-for-recoverability-issues/">sp_CheckBackup</a> across the estate. It is not directly a migration assessment task, but I presume that discovering a database has not had a successful backup in eight months is the kind of thing you want to know in week one of a project, not the week before cutover.</p>



<h2 id="h-finding-dependencies" class="wp-block-heading"><strong>Finding dependencies</strong></h2>



<p class="wp-block-paragraph"><a href="https://docs.dbatools.io/Export-DbaInstance.html">Export-DbaInstance</a> in dbatools is fantastic for this part of the exercise. It scripts out logins, jobs, linked servers, credentials, database mail configuration, and a long list of other server level objects in one shot, which gives you both a dependency map and a disaster recovery artifact at the same time.</p>



<p class="wp-block-paragraph">For dependencies inside the databases themselves, cross referencing <a href="https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-sql-referencing-entities-transact-sql?view=sql-server-ver17">sys.dm_sql_referencing_entities</a>, <a href="https://learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sql-expression-dependencies-transact-sql?view=sql-server-ver17">sys.sql_expression_dependencies</a>, and <a href="https://learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sql-expression-dependencies-transact-sql?view=sql-server-ver17">sys.sql_expression_dependencies</a> will help you find cross database queries, synonyms pointing elsewhere, and views built on top of views built on top of something in a completely different database than you expected. Application dependencies rarely respect the tidy boundaries we drew in the architecture diagram three years ago.</p>



<h2 id="h-performing-a-workload-assessment" class="wp-block-heading"><strong>Performing a workload assessment</strong></h2>



<p class="wp-block-paragraph">Inventory tells you what exists. Workload assessment tells you how hard it is working and whether your target platform can actually handle it.</p>



<p class="wp-block-paragraph">At a minimum you want: CPU, memory, and IO utilization patterns over a real business cycle, not just a Friday afternoon. <a href="https://docs.dbatools.io/Get-DbaTopResourceUsage.html">Get-DbaTopResourceUsage</a> in dbatools is a nice quick way to see which databases are actually driving load on an instance.</p>



<p class="wp-block-paragraph">Query Store, if it is enabled anywhere in your 2016 estate, is a goldmine for understanding your actual workload shape rather than guessing. If it is not enabled, this is a good excuse to turn it on now, even briefly, before you finalize a migration plan.</p>



<p class="wp-block-paragraph">Wait statistics over time to understand whether you are CPU bound, IO bound, or something else entirely. This matters enormously for sizing an Azure SQL Managed Instance tier or picking VM specs, and guessing wrong here is an expensive mistake to correct later.</p>



<p class="wp-block-paragraph">Here’s something you can do this week: clear the counters with <a href="https://docs.dbatools.io/Clear-DbaWaitStatistics.html">Clear-DbaWaitStatistics</a> at the start of a representative business day, let a full cycle run, then capture a clean snapshot with <a href="https://docs.dbatools.io/Get-DbaWaitStatistic.html">Get-DbaWaitStatistic</a>. That gives you wait stats tied to an actual dated window instead of numbers that have been quietly accumulating since the last unplanned restart, which is what most people are looking at without realizing it. If you haven’t restarted your instance in years (yes, this happens) the current statistics may not be as relevant.</p>



<h2 id="h-ssms-22-and-its-built-in-migration-assessment" class="wp-block-heading"><strong>SSMS 22 and its built-in Migration Assessment</strong></h2>



<p class="wp-block-paragraph">I noted that there was a migration assessment built in to Azure Migrate, but the latest version of <a href="https://learn.microsoft.com/en-us/ssms/install/install">SQL Server Management Studio 22</a> includes real <a href="https://learn.microsoft.com/en-us/ssms/migrate/upgrade-sql-server">assessment capabilities</a> that older SSMS versions never had. Microsoft retired the standalone Data Migration Assistant on July 16, 2025, but SSMS is now positioned as a useful tool for upgrade assessments and even Azure migration assessments.</p>



<p class="wp-block-paragraph">Here’s how you use this feature. In SSMS 22, right click an instance in Object Explorer, choose Migrate SQL Server, and you get two useful paths.</p>



<ul class="wp-block-list">
<li><strong>Upgrade Assessment</strong> checks a source instance against a target SQL Server version and flags breaking changes, discontinued features, and deprecated functionality, with remediation guidance included.</li>



<li><strong>Azure Migration Readiness</strong> does the same kind of check pointed at Azure, evaluating your databases against Azure SQL Managed Instance, Azure SQL Database, and SQL Server on Azure VMs, then recommending which target works best and why. You can read more here if you want to <a href="https://learn.microsoft.com/en-us/ssms/migrate/migrate-sql-server-azure-sql">Migrate SQL Server to Azure SQL</a>.</li>
</ul>



<p class="wp-block-paragraph">As of SSMS 22.5 this all lives on a single Migrations page, so assessment, target selection, migration, and monitoring are not four different places that you have to remember to check. It is not a replacement for the workload analysis dbatools gives you, but as a fast, metadata-based readiness check before you commit to a target, it is worth running early rather than after you have already picked a direction.</p>



<h2 id="h-choose-wisely" class="wp-block-heading"><strong>Choose wisely</strong></h2>



<p class="wp-block-paragraph">By the time you finish this exercise with whichever tools you choose, you should have an honest, current picture of every instance, every database, every service dependency, and a real sense of how hard each workload is actually running. That is the foundation the rest of the migration plan gets built on. Skip it, or half do it, and you will find out about the gaps at the worst possible time, usually during a cutover weekend, and usually around two in the morning.</p>



<p class="wp-block-paragraph">My guidance for you: consider not using MAP Toolkit anymore, since orphaned tools have a way of missing exactly the thing you needed them to catch. Get comfortable with PowerShell and use dbatools since it is free, actively maintained, and built (and used) by people who migrate SQL Server instances all the time. Run the SSMS 22 migration assessment early for a fast readiness read, and lean on Azure Migrate if Azure is anywhere in your future. And try not to wait too long after July 14<sup>th</sup> to finish your assessment.</p>



<h2 id="h-sources-and-further-reading" class="wp-block-heading"><strong>Sources and further reading</strong></h2>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/en-us/sql/sql-server/end-of-support/sql-server-end-of-support-overview?view=sql-server-ver17">SQL Server end of support overview, Microsoft Learn</a></li>



<li><a href="https://www.microsoft.com/en-us/download/details.aspx?id=7826">MAP Toolkit download page, Microsoft (confirms it&#8217;s still downloadable but states no support is available)</a></li>



<li><a href="https://azure.microsoft.com/en-us/services/azure-migrate/">Azure Migrate overview, Microsoft</a></li>



<li><a href="https://learn.microsoft.com/en-us/azure/migrate/migrate-services-overview">Azure Migrate documentation, Microsoft Learn</a></li>



<li><a href="https://learn.microsoft.com/en-us/ssms/migrate-sql-server-component">SQL Server Migration Component (SSMS 22), Microsoft Learn</a></li>



<li><a href="https://sqlmct.com/simplify-sql-server-migration-with-ssms-22-5/">Simplify SQL Server Migration with SSMS 22.5 Features, John Deardurff</a></li>



<li><a href="https://learn.microsoft.com/en-us/ssms/migrate/migrate-sql-server-azure-sql">Migrate SQL Server to Azure SQL, Microsoft Learn</a></li>



<li><a href="https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-sql-referencing-entities-transact-sql?view=sql-server-ver17">sys.dm_sql_referencing_entities (Transact-SQL), Microsoft Learn</a></li>



<li><a href="https://learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sql-expression-dependencies-transact-sql?view=sql-server-ver17">sys.sql_expression_dependencies (Transact-SQL), Microsoft Learn</a></li>



<li><a href="https://dbatools.io/">dbatools official site</a></li>



<li><a href="https://github.com/dataplat/dbatools">dbatools GitHub repository</a></li>



<li><a href="https://docs.dbatools.io/Export-DbaInstance.html">Export-DbaInstance documentation, dbatools</a></li>
</ul>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-assessing-your-sql-server-2016-estate/">SQL Server 2016 – the Final Countdown: Assessing Your SQL Server 2016 Estate</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://straightpathsql.com/sql-server-2016-the-final-countdown-assessing-your-sql-server-2016-estate/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SQL Server Case of the Week: Why the master database can have a lower compatibility level than the instance</title>
		<link>https://straightpathsql.com/sql-server-case-of-the-week-why-the-master-database-can-have-a-lower-compatibility-level-than-the-instance/</link>
					<comments>https://straightpathsql.com/sql-server-case-of-the-week-why-the-master-database-can-have-a-lower-compatibility-level-than-the-instance/#respond</comments>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Fri, 26 Jun 2026 17:34:02 +0000</pubDate>
				<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[case of the week]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[sql server upgrade]]></category>
		<guid isPermaLink="false">https://straightpathsql.com/?p=4860</guid>

					<description><![CDATA[<p>Quick summary If you have ever done an in-place upgrade of SQL Server, the master database probably has a lower compatibility level than the other system databases. Context We were attempting to install a troubleshooting stored procedure in the master database of a SQL Server 2016 instance when we received the following error. Msg 195, ... <a title="SQL Server Case of the Week: Why the master database can have a lower compatibility level than the instance" class="read-more" href="https://straightpathsql.com/sql-server-case-of-the-week-why-the-master-database-can-have-a-lower-compatibility-level-than-the-instance/" aria-label="Read more about SQL Server Case of the Week: Why the master database can have a lower compatibility level than the instance">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-case-of-the-week-why-the-master-database-can-have-a-lower-compatibility-level-than-the-instance/">SQL Server Case of the Week: Why the master database can have a lower compatibility level than the instance</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 id="h-quick-summary" class="wp-block-heading"><strong>Quick summary</strong></h2>



<p class="wp-block-paragraph">If you have ever done an in-place upgrade of SQL Server, the master database probably has a lower compatibility level than the other system databases.</p>



<h2 id="h-context" class="wp-block-heading"><strong>Context</strong></h2>



<p class="wp-block-paragraph">We were attempting to install a troubleshooting stored procedure in the master database of a SQL Server 2016 instance when we received the following error.</p>



<p class="wp-block-paragraph"><em>Msg 195, Level 15, State 10, Procedure sp_ShootTheTrouble, Line 227 [Batch Start Line 7]</em></p>



<p class="wp-block-paragraph"><em>&#8216;TRY_CONVERT&#8217; is not a recognized built-in function name.</em></p>



<p class="wp-block-paragraph">This was unexpected, as TRY_CONVERT has been a command since SQL Server 2012. As a consequence, we were unable to install the stored procedure.</p>



<h2 id="h-the-investigation" class="wp-block-heading"><strong><strong>The Investigation</strong></strong></h2>



<p class="wp-block-paragraph">We did a quick check of the compatibility level of the master database using this query.</p>



<pre class="wp-block-code"><code>SELECT &#91;name], compatibility_level
FROM sys.databases
WHERE name = 'master';</code></pre>



<p class="wp-block-paragraph">The results of the query indicated that the master database was set to compatibility level 100, which is SQL Server 2008.</p>



<p class="wp-block-paragraph">A quick check of the Microsoft SQL Server folder showed this instance had experienced several in-place upgrades, but was likely to have originally been SQL Server 2008 R2, as indicated by the folder “MSSQL_10_50.MSSQLSERVER”.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="186" height="89" src="https://straightpathsql.com/wp-content/uploads/2026/06/image-2.png" alt="" class="wp-image-4861"/></figure>



<p class="wp-block-paragraph">One thing many folks don’t realize is that <a href="https://learn.microsoft.com/en-us/sql/database-engine/install-windows/change-the-database-compatibility-mode-and-use-the-query-store?view=sql-server-ver17">the master database retains the compatibility level it had before the upgrade if you upgrade SQL Server in-place</a>. All other system databases (tempdb, model, msdb, and Resource) will upgrade to the compatibility level of the new version, although user database maintain the compatibility level of the database if it is a supported level.</p>



<p class="wp-block-paragraph">So, for this instance, despite multiple in-place upgrades, the master database still retained the compatibility level of the original installation of SQL Server 2008 R2.</p>



<h2 id="h-the-fix-manually-change-the-compatibility-level" class="wp-block-heading"><strong>The fix – manually change the compatibility level</strong></h2>



<p class="wp-block-paragraph">There is usually little to no risk in manually raising the compatibility level of the master database in this case. The biggest consideration would be for any stored procedures or other objects with dependencies on features or commands that have been removed in the current version.</p>



<p class="wp-block-paragraph">There were no other user objects, so we ran this to bring the compatibility level of the master database to that of the version.</p>



<pre class="wp-block-code"><code>USE &#91;master];
GO
ALTER DATABASE &#91;master] SET COMPATIBILITY_LEVEL = 130;
GO
</code></pre>



<h2 id="h-the-straight-path-team-and-skills" class="wp-block-heading">The Straight Path Team and Skills</h2>



<p class="wp-block-paragraph">This case shows one of many reasons why <a href="https://straightpathsql.com/archives/2020/04/sql-server-in-place-upgrades-too-expensive/">in-place SQL Server upgrades are problematic</a> and generally not recommended. If you are considering upgrading your version of SQL Server, the Straight Path team can help make the migration as painless and cost-effective as possible.</p>



<p class="wp-block-paragraph"></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><em>Straight Path Solutions is a team of nearly 20 SQL Server experts trusted by 120+ clients. We treat our clients&#8217; environments as if they were our own because our job depends on your success. Making your life pain-free in the land of SQL is the rewarding part of our work. If you&#8217;re planning a migration, dealing with backup concerns, or just want to sleep better knowing someone&#8217;s watching your environment, <a href="https://straightpathsql.com/sql-server-consultant/contact-us/">reach out to us</a>.</em></p>



<p class="wp-block-paragraph"><em>This post is part of our <a href="https://straightpathsql.com/archives/category/case-of-the-week/">Case of the Week</a> series, real SQL Server issues and lessons from the field.</em></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://straightpathsql.com/sql-server-case-of-the-week-why-the-master-database-can-have-a-lower-compatibility-level-than-the-instance/">SQL Server Case of the Week: Why the master database can have a lower compatibility level than the instance</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://straightpathsql.com/sql-server-case-of-the-week-why-the-master-database-can-have-a-lower-compatibility-level-than-the-instance/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Updates for all sp_Check tools – June 2026</title>
		<link>https://straightpathsql.com/updates-for-all-sp_check-tools-june-2026/</link>
					<comments>https://straightpathsql.com/updates-for-all-sp_check-tools-june-2026/#respond</comments>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Thu, 25 Jun 2026 22:41:08 +0000</pubDate>
				<category><![CDATA[Company News]]></category>
		<category><![CDATA[DBA Tools & Automation]]></category>
		<category><![CDATA[Free Tools]]></category>
		<category><![CDATA[sp_check]]></category>
		<category><![CDATA[sp_checkAG]]></category>
		<category><![CDATA[sp_CheckBackup]]></category>
		<category><![CDATA[sp_CheckSecurity]]></category>
		<category><![CDATA[sp_CheckTempdb]]></category>
		<guid isPermaLink="false">https://straightpathsql.com/?p=4858</guid>

					<description><![CDATA[<p>No, it wasn&#8217;t your imagination &#8211; we didn&#8217;t have any updates for our tools in May. At least not publicly. Internally we did add some features and fix some things in May, but we&#8217;ve also been working on a few other things (like new website!) that delayed the public May updates. Anyhow, we have a ... <a title="Updates for all sp_Check tools – June 2026" class="read-more" href="https://straightpathsql.com/updates-for-all-sp_check-tools-june-2026/" aria-label="Read more about Updates for all sp_Check tools – June 2026">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/updates-for-all-sp_check-tools-june-2026/">Updates for all sp_Check tools – June 2026</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">No, it wasn&#8217;t your imagination &#8211; we didn&#8217;t have any updates for our tools in May. At least not publicly. Internally we did add some features and fix some things in May, but we&#8217;ve also been working on a few other things (like new website!) that delayed the public May updates.</p>



<p class="wp-block-paragraph">Anyhow, we have a few months&#8217; worth of updates for our FREE sp_Check stored procedures, so here are the June updates. And not only do we have more updates and checks for you, our repos now feature enhanced README files that have even more helpful information as well as a listing of every check in each stored procedure. Yes, really!</p>



<p class="wp-block-paragraph">We hope these new updates can help make your job even easier, especially at proactively identifying issues. Here are the updates for June 2026, with links to the GitHub repositories where you can download the latest versions.</p>



<p class="wp-block-paragraph"><a href="https://github.com/Straight-Path-Solutions/sp_CheckAG">sp_CheckAG</a></p>



<ul class="wp-block-list">
<li>CHANGE documentation to say SQL Server 2016 and higher</li>



<li>ADD servername mismatch check (CheckID 617)</li>



<li>CORRECT offline listener URL (CheckID 417)</li>



<li>CORRECT various typos</li>



<li>ADD check for database not synchronized on a synchronous replica (430)</li>



<li>ADD check for disconnected replicas (431)</li>



<li>ADD Connected State to Replica result set</li>



<li>ADD check for suspect pages detected (504)</li>



<li>ADD check for automatic page repair activity (506)</li>



<li>CORRECT check for Seeding Mode</li>



<li>CORRECT check for Database Owner</li>



<li>CORRECT check for Database Health Level</li>



<li>CORRECT check for Physical Memory (114)</li>



<li>REMOVED some dead parameters</li>
</ul>



<p class="wp-block-paragraph"><a href="https://github.com/Straight-Path-Solutions/sp_CheckBackup">sp_CheckBackup</a></p>



<ul class="wp-block-list">
<li>ADD SQL Agent Offline (CheckID 628)</li>



<li>ADD URL for VLF check (CheckID 217)</li>



<li>CHANGE documentation to say SQL Server 2016 and higher</li>



<li>ADD snapshots with differentials for latency check (CheckID 739)</li>



<li>EDIT wording used for I/O freeze detection (739)</li>



<li>CHANGE Importance of I/O freeze detection from 1 to 2 (739)</li>



<li>CORRECT broken links for Check IDs 210, 211, 212, 213</li>



<li>CORRECT values for replace and recovery in results of @Mode = 2</li>



<li>UPDATE to work with Azure MI</li>



<li>UPDATE include Azure MI backup history for user databases</li>



<li>UPDATE VLF check to only check online databases (217)</li>



<li>CORRECT typos in Parameters of @Help = 1</li>



<li>CORRECT check for failed backups to be more robust (207)</li>



<li>CORRECT typo in Check ID 206</li>



<li>REMOVED commented debug code</li>
</ul>



<p class="wp-block-paragraph"><a href="https://github.com/Straight-Path-Solutions/sp_CheckSecurity">sp_CheckSecurity</a></p>



<ul class="wp-block-list">
<li>UPDATE versions for May 2026 updates</li>



<li>CORRECT URL for local Administrators (315)</li>



<li>CORRECT typos in CheckIDs 119, 321, 332, 340</li>



<li>CORRECT typos in @Help = 1</li>



<li>CORRECT check for number of error log files (622)</li>



<li>ADD check for proxies for sysadmin (352)</li>



<li>ADD check for xp_cmdshell proxy account (353)</li>



<li>ADD check for logins with IMPERSONATE ANY LOGIN (354)</li>



<li>ADD check for logins with ALTER ANY LOGIN (355)</li>
</ul>



<p class="wp-block-paragraph"><a href="https://github.com/Straight-Path-Solutions/sp_CheckTempdb">sp_CheckTempdb</a></p>



<ul class="wp-block-list">
<li>ADD check for Resource Governor used for tempdb in SQL Server 2025 (CheckID 727)</li>



<li>CORRECT check for @SQLMajorVersion</li>



<li>ADD check for Engine Edition</li>



<li>ADD check for Accelerated Database Recovery enabled in tempdb (739)</li>



<li>ADD constraints for @Size, defaulting to MB</li>



<li>CORRECT check for Resource Governor used for tempdb in SQL Server 2025 (727)</li>



<li>CHANGE check for file growth for log file to account for default max (619)</li>



<li>CHANGE @Mode = 3 to use dynamic SQL and work with Azure Managed Instance</li>



<li>CHANGE Trace Flag checks to exclude Azure MI (715, 716)</li>
</ul>
<p>The post <a href="https://straightpathsql.com/updates-for-all-sp_check-tools-june-2026/">Updates for all sp_Check tools – June 2026</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://straightpathsql.com/updates-for-all-sp_check-tools-june-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SQL Server 2016 &#8211; the Final Countdown: SQL Server 2016 Is Becoming a Serious Security Risk</title>
		<link>https://straightpathsql.com/sql-server-2016-the-final-countdown-sql-server-2016-is-becoming-a-serious-security-risk/</link>
					<comments>https://straightpathsql.com/sql-server-2016-the-final-countdown-sql-server-2016-is-becoming-a-serious-security-risk/#respond</comments>
		
		<dc:creator><![CDATA[Mike Lynn]]></dc:creator>
		<pubDate>Wed, 24 Jun 2026 16:17:52 +0000</pubDate>
				<category><![CDATA[Migrations & Upgrades]]></category>
		<category><![CDATA[SQL Server Security]]></category>
		<category><![CDATA[Microsoft Support]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server 2016]]></category>
		<category><![CDATA[sql server upgrade]]></category>
		<guid isPermaLink="false">https://straightpathsql.com/?p=4850</guid>

					<description><![CDATA[<p>This post is part of a series we are calling &#8220;SQL Server 2016 &#8211; The Final Countdown.&#8221; For many companies SQL Server 2016 is a reliable database management system.  It has worked well for several years and let’s be honest; it isn’t broken, so why fix it? We all have several high-priority tasks; everything from ... <a title="SQL Server 2016 &#8211; the Final Countdown: SQL Server 2016 Is Becoming a Serious Security Risk" class="read-more" href="https://straightpathsql.com/sql-server-2016-the-final-countdown-sql-server-2016-is-becoming-a-serious-security-risk/" aria-label="Read more about SQL Server 2016 &#8211; the Final Countdown: SQL Server 2016 Is Becoming a Serious Security Risk">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-sql-server-2016-is-becoming-a-serious-security-risk/">SQL Server 2016 &#8211; the Final Countdown: SQL Server 2016 Is Becoming a Serious Security Risk</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This post is part of a series we are calling <strong>&#8220;SQL Server 2016 &#8211; The Final Countdown.&#8221;</strong></em></p>



<p class="wp-block-paragraph">For many companies SQL Server 2016 is a reliable database management system.  It has worked well for several years and let’s be honest; it isn’t broken, so why fix it? </p>



<p class="wp-block-paragraph">We all have several high-priority tasks; everything from updating a report for management to troubleshooting the same report for slow performance. We all know the end of life for SQL Server 2016 is right around the corner, but not everyone has the time to research why newer versions are a safer choice.  In this article we will explore one of the security enhancements supported by newer releases of SQL Server; TLS encryption.</p>



<p class="wp-block-paragraph">TLS encryption is something you’ve likely heard from your system administrators and security team.  TLS stands for Transport Layer Security, and it is used to provide secure communication over a network.  To relate that to the DBA world, TLS is used when a request is made to connect to your SQL Server.  The server operating system will negotiate with the client to determine a common protocol to use when encrypting traffic between the two systems.   To give an example; if your server operating system supports TLS 1.0 and TLS 1.1 and the application server supports TLS 1.1 and TLS 1.2; the common protocol is TLS 1.1 and that will be used to encrypt the connection between the systems.</p>



<p class="wp-block-paragraph">When SQL Server 2016 was released, Microsoft recommended using TLS 1.2, which was the most advanced encryption protocol at the time. SQL Server 2016 also supported other common protocols like TLS 1.0 and 1.1. Since the operating system handles negotiating with clients on which protocol to use, most systems have all versions of TLS enabled.  </p>



<p class="wp-block-paragraph">At the time it worked but vulnerabilities were discovered in TLS 1.0 and 1.1 and both were marked as deprecated in 2021.  Having said that, just because they were marked as deprecated doesn’t mean they were disabled.  I still see systems from time to time with TLS 1.0 and 1.1 enabled.  </p>



<p class="wp-block-paragraph">Currently though, this leaves TLS 1.2 as the only supported encryption protocol for SQL Server 2016 to use for secure communication.  And while it is still supported, TLS 1.2 has its own security issues and is being replaced by TLS 1.3. The security industry currently recommends moving towards TLS 1.3 because it fixes some weaknesses outlined below:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Security Enhancement</strong></td><td><strong>TLS 1.3</strong></td><td><strong>Why it matters</strong></td></tr><tr><td>Mandatory Perfect Forward Secrecy (PFS)</td><td>Always enforced (ECDHE only).&nbsp;<br>TLS 1.2 does not enforce PFS.</td><td>Prevents attackers from decrypting <em>past</em> traffic even if the server’s private key is later compromised</td></tr><tr><td>Removal of broken Cryptography</td><td>All known broken cryptography was removed.&nbsp;<br>The following are allowed in TLS 1.2 but have known vulnerabilities. (RSA, SHA-1, 3DES, RC4)</td><td>Entire classes of attacks are no longer possible because the cryptography simply isn’t there</td></tr><tr><td>Encrypted Handshake (improved privacy)</td><td>Handshake encrypted after the “ServerHello” request<br>TLS 1.2 does some negotiations in clear text which can leak information for the advantage of a bad actor.</td><td>Prevents passive observers from learning server identity, certificates, or negotiation details</td></tr><tr><td>Built-in downgrade attack protection</td><td>Cryptographically enforced.<br>In TLS 1.2 an attacker can force a weaker TLS version or cipher suite to further their attack.</td><td>Clients can detect forced downgrades to weaker protocols or parameters, blocking silent downgrade attacks</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Currently the only versions of SQL Server that support TLS 1.3 are SQL Server 2022 and SQL Server 2025.&nbsp; SQL Server 2022 only supports TLS 1.3 when TDS 8.0 is in use while SQL 2025 fully supports TLS 1.3.</p>



<p class="wp-block-paragraph">What does this all mean and why does it matter?&nbsp; So glad you asked. This matters because new TLS vulnerabilities are discovered constantly, and an end‑of‑support database server becomes the weakest encrypted link in the environment. Attackers don’t target what’s newest, they target what is unpatched.&nbsp; With SQL Server 2016 no longer receiving updates after July 2026, and TLS 1.2 no longer receiving updates either; these servers will be very enticing to a bad actor when one gets into your environment.&nbsp;</p>



<p class="wp-block-paragraph">The questions I think most people aren’t asking themselves are:</p>



<p class="wp-block-paragraph"><em>“Am I okay with being the weakest link in the company chain when defending against hackers?” </em></p>



<p class="wp-block-paragraph"><em>“Am I okay with admitting the servers I manage were taken over because I put off upgrading them to newer and more secure software?” </em></p>



<p class="wp-block-paragraph">If your answer to these questions is “No!”, my recommendation for you is to start planning and pushing for a migration to SQL Server 2022 or SQL Server 2025.&nbsp;</p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-sql-server-2016-is-becoming-a-serious-security-risk/">SQL Server 2016 &#8211; the Final Countdown: SQL Server 2016 Is Becoming a Serious Security Risk</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://straightpathsql.com/sql-server-2016-the-final-countdown-sql-server-2016-is-becoming-a-serious-security-risk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>RC4 Is Going Away in July 2026: What CVE-2026-20833 Means for Your SQL Server and Windows Environment</title>
		<link>https://straightpathsql.com/rc4-is-going-away-in-july-2026-what-cve-2026-20833-means-for-your-sql-server-and-windows-environment/</link>
					<comments>https://straightpathsql.com/rc4-is-going-away-in-july-2026-what-cve-2026-20833-means-for-your-sql-server-and-windows-environment/#respond</comments>
		
		<dc:creator><![CDATA[Mike Lynn]]></dc:creator>
		<pubDate>Tue, 23 Jun 2026 20:29:25 +0000</pubDate>
				<category><![CDATA[Database Administration]]></category>
		<category><![CDATA[SQL Server Security]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[sql server upgrade]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[Upgrade]]></category>
		<category><![CDATA[Windows Updates]]></category>
		<guid isPermaLink="false">https://straightpathsql.com/?p=4848</guid>

					<description><![CDATA[<p>In July 2026 Microsoft is making a change that may impact your environment. The change being implemented will make your environment more secure by no longer accepting the RC4 algorithm for the Kerberos protocol by default. The problem though is it could cause authentication failures, services to not start, and Kerberos to stop working. Microsoft ... <a title="RC4 Is Going Away in July 2026: What CVE-2026-20833 Means for Your SQL Server and Windows Environment" class="read-more" href="https://straightpathsql.com/rc4-is-going-away-in-july-2026-what-cve-2026-20833-means-for-your-sql-server-and-windows-environment/" aria-label="Read more about RC4 Is Going Away in July 2026: What CVE-2026-20833 Means for Your SQL Server and Windows Environment">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/rc4-is-going-away-in-july-2026-what-cve-2026-20833-means-for-your-sql-server-and-windows-environment/">RC4 Is Going Away in July 2026: What CVE-2026-20833 Means for Your SQL Server and Windows Environment</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In July 2026 Microsoft is making a change that may impact your environment. The change being implemented will make your environment more secure by no longer accepting the RC4 algorithm for the Kerberos protocol by default. <strong><em>The problem though is it could cause authentication failures, services to not start, and Kerberos to stop working</em></strong>. Microsoft has been working to implement this change since January 2026, and <strong>July 2026 is the final phase.</strong></p>



<h3 id="h-what-s-changing-and-why" class="wp-block-heading">What&#8217;s Changing and Why</h3>



<p class="wp-block-paragraph">The change Microsoft is making is related to an information disclosure security vulnerability found in CVE‑2026‑20833. To fix this vulnerability Microsoft is stopping the default use of the RC4 encryption algorithm in Kerberos authentication. RC4 encryption has been around since the 80s, has several known vulnerabilities associated with it, and is no longer recommended for use in production environments. The specific risk is &#8220;<a href="https://www.crowdstrike.com/en-us/cybersecurity-101/cyberattacks/kerberoasting/" target="_blank" rel="noreferrer noopener">Kerberoasting</a>&#8221; an attacker requesting service tickets and cracking the weaker RC4 encryption offline to recover service account passwords.</p>



<h3 id="h-how-microsoft-has-rolled-this-out" class="wp-block-heading">How Microsoft Has Rolled This Out</h3>



<p class="wp-block-paragraph">Microsoft has been preparing for these changes in phases since January 2026. The first step was an Audit phase, which started recording messages in domain controller event logs. In the <strong>System</strong> event log, watch for the new events created specifically for this change:</p>



<ul class="wp-block-list">
<li>Event ID 201, 202, 206, 207 &#8211; RC4 default disablement / at-risk interactions and service accounts</li>



<li>Event ID 205 &#8211; logged when an explicit configuration still allows RC4</li>
</ul>



<p class="wp-block-paragraph">In the <strong>Security</strong> event log, you can also review:</p>



<ul class="wp-block-list">
<li>Event ID 4768 – Kerberos Authentication Service (AS request / Ticket Granting Ticket)</li>



<li>Event ID 4769 – Kerberos Service Ticket Operations (Ticket Granting Service &#8211; TGS)</li>
</ul>



<p class="wp-block-paragraph">Inside these events, an encryption type of <strong>0x17</strong> indicates RC4 is being used.</p>



<p class="wp-block-paragraph">The next change came with the Windows update in April 2026, which moved domain controllers into enforcement mode by default . This blocked RC4 connections from non-compliant devices for accounts using the default encryption configuration. If you started encountering issues after the April update, <em>you could modify the Active Directory account and set the attribute <code>msDS-SupportedEncryptionTypes</code> to include RC4 (0x24). This was meant to be a workaround, not a permanent fix.</em></p>



<p class="wp-block-paragraph"><strong>The final phase arrives in July 2026, when the temporary registry escape hatch goes away</strong>&#8230; Microsoft removes support for the <code>RC4DefaultDisablementPhase</code> registry key that some organizations used to postpone the change. After July, that delay option is gone, and you&#8217;ll no longer have the choice of putting off tomorrow what you now get to fix today. (Note: explicitly configured per-account overrides are still honored even after July but relying on them keeps you exposed to the very vulnerability this change exists to close, so they should be a controlled last resort, and a plan to open up vulnerabilities, not succeed&#8230;)</p>



<h3 id="h-what-to-review-in-your-environment" class="wp-block-heading">What to Review in Your Environment</h3>



<p class="wp-block-paragraph">The key parts of your environment that should be reviewed are service accounts, applications using Kerberos or Windows Authentication, older systems, and with SQL Servers: linked servers and the accounts being used. Have a sysadmin review your domain controller event logs for the event IDs above and check whether RC4 (0x17) is in use. A bigger lift will be verifying your application libraries and drivers are up to date and checking whether older software in your environment supports AES encryption.</p>



<h3 id="h-we-deployed-april-and-had-no-problems-do-i-still-need-to-check" class="wp-block-heading">&#8220;We Deployed April and Had No Problems&#8230; Do I Still Need to Check?&#8221;</h3>



<p class="wp-block-paragraph">You may be asking yourself, &#8220;We&#8217;ve deployed the April update and haven&#8217;t had any problems, do I really need to check all these things?&#8221; The impact of not checking means that in July you may start to experience one, or all, of the following:</p>



<ul class="wp-block-list">
<li>Failed database connections (Windows-authenticated SQL Server)</li>



<li>Linked server authentication failures</li>



<li>Application login issues</li>



<li>Service startup failures</li>



<li>Kerberos delegation failures</li>
</ul>



<p class="wp-block-paragraph">If your environment is up to date on Windows updates and your system administrators have kept up with this change, your chances of experiencing any of these issues are much lower. As we all know, that chance is almost never zero, and taking one last look isn&#8217;t going to hurt. If anything, you may find the one thing that was overlooked which could save the company from coming to a grinding halt when RC4&#8217;s default support ends for good.</p>



<h3 id="h-where-to-learn-more" class="wp-block-heading">Where to Learn More</h3>



<p class="wp-block-paragraph">If you would like to read more about the change, you can look up CVE‑2026‑20833 or review Microsoft&#8217;s official guidance. Reviewing your environment now can help ensure a smooth transition and avoid unexpected disruptions.</p>



<ul class="wp-block-list">
<li><a href="https://support.microsoft.com/en-us/topic/how-to-manage-kerberos-kdc-usage-of-rc4-for-service-account-ticket-issuance-changes-related-to-cve-2026-20833-1ebcda33-720a-4da8-93c1-b0496e1910dc">How to manage Kerberos KDC usage of RC4 (CVE-2026-20833) — Microsoft Support (KB5073381)</a> </li>



<li><a href="https://learn.microsoft.com/en-us/windows-server/security/kerberos/detect-remediate-rc4-kerberos">Detect and Remediate RC4 Usage in Kerberos — Microsoft Learn</a> </li>



<li><a href="https://techcommunity.microsoft.com/discussions/microsoft-security/kerberos-and-the-end-of-rc4-protocol-hardening-and-preparing-for-cve%E2%80%912026%E2%80%9120833/4502262">Kerberos and the End of RC4: Protocol Hardening and Preparing for CVE‑2026‑20833 — Microsoft Community Hub</a></li>
</ul>



<h2 id="h-check-your-sql-server-security-and-upgrade" class="wp-block-heading">Check Your SQL Server Security and Upgrade!</h2>



<p class="wp-block-paragraph">While you are at it &#8211; don&#8217;t forget to check your own SQL Server security. We can definitely help with our health checks, but you can also just download our free <a href="https://straightpathsql.com/introducing-sp_checksecurity/" type="post" id="610">SP_CheckSecurity </a> proc and check your own security. And if you are on an unsupported SQL Server (which will include SQL Server 2016 soon) Check out some of our posts on SQL Server 2016&#8217;s final countdown and <a href="https://straightpathsql.com/tag/upgrade/" type="post_tag" id="45">upgrade </a>best practices.</p>
<p>The post <a href="https://straightpathsql.com/rc4-is-going-away-in-july-2026-what-cve-2026-20833-means-for-your-sql-server-and-windows-environment/">RC4 Is Going Away in July 2026: What CVE-2026-20833 Means for Your SQL Server and Windows Environment</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://straightpathsql.com/rc4-is-going-away-in-july-2026-what-cve-2026-20833-means-for-your-sql-server-and-windows-environment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SQL Server 2016 &#8211; the Final Countdown: Key Features from SQL Server versions 2017–2025</title>
		<link>https://straightpathsql.com/sql-server-2016-the-final-countdown-key-features-from-sql-server-versions-2017-2025/</link>
					<comments>https://straightpathsql.com/sql-server-2016-the-final-countdown-key-features-from-sql-server-versions-2017-2025/#respond</comments>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Wed, 17 Jun 2026 16:01:00 +0000</pubDate>
				<category><![CDATA[Migrations & Upgrades]]></category>
		<category><![CDATA[Microsoft Support]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server 2016]]></category>
		<category><![CDATA[sql server upgrade]]></category>
		<guid isPermaLink="false">https://straightpthdev.wpenginepowered.com/?p=4636</guid>

					<description><![CDATA[<p>This post is part of a series we are calling &#8220;SQL Server 2016 &#8211; The Final Countdown.&#8221; SQL Server 2016 was the version where Microsoft really started giving us the good stuff for free. Query Store, Columnstore for everyone, Always Encrypted, Availability Groups that worked, and more. Plus, the Service Pack 1 feature additions made ... <a title="SQL Server 2016 &#8211; the Final Countdown: Key Features from SQL Server versions 2017–2025" class="read-more" href="https://straightpathsql.com/sql-server-2016-the-final-countdown-key-features-from-sql-server-versions-2017-2025/" aria-label="Read more about SQL Server 2016 &#8211; the Final Countdown: Key Features from SQL Server versions 2017–2025">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-key-features-from-sql-server-versions-2017-2025/">SQL Server 2016 &#8211; the Final Countdown: Key Features from SQL Server versions 2017–2025</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This post is part of a series we are calling <strong>&#8220;SQL Server 2016 &#8211; The Final Countdown.&#8221;</strong></em></p>



<p class="wp-block-paragraph">SQL Server 2016 was the version where Microsoft really started giving us the good stuff for free. Query Store, Columnstore for everyone, Always Encrypted, Availability Groups that worked, and more. Plus, the Service Pack 1 feature additions made Standard Edition folks feel like they weren’t second-class citizens anymore.</p>



<p class="wp-block-paragraph">But that was a decade ago, and as of <strong>July 14<sup>th</sup>, 2026, SQL Server 2016 is out of support</strong>. No more updates or hotfixes, so it’s well past the time to upgrade to a newer version. I know upgrades can seem painful, and we can help with that, but on the other side of that upgrade are many features added since SQL Server 2016 that could make your life easier.</p>



<p class="wp-block-paragraph">Let’s walk through some of my favorite new features from each version, in the style of an executive summary in case you want to copy/paste to your supervisors to convince them to upgrade. I&#8217;ll keep the descriptions short, tell you why you should care, and link to pages with more info should you want to learn more.</p>



<h2 class="wp-block-heading" id="h-sql-server-2017"><strong>SQL Server 2017</strong></h2>



<p class="wp-block-paragraph">SQL Server 2017 shipped only 16 months after 2016, which by Microsoft&#8217;s historical standards is practically a patch. Still, they managed to slip in some real gems.</p>



<p class="wp-block-paragraph"><strong>SQL Server on Linux</strong></p>



<p class="wp-block-paragraph">We were all assured for decades would be an icy day in a place hotter than the desert here in Arizona before Microsoft ever supported Linux, but starting with 2017 you can run the database engine on Red Hat, Ubuntu, SUSE, or in a Docker container. If you work somewhere that has a Linux-first policy, SQL Server is no longer a non-starter, and if you&#8217;re a DBA, containerized SQL Server means you can spin up a test instance in roughly the time it takes to refill your coffee. <a href="https://learn.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2017">Read more from Microsoft</a>.</p>



<p class="wp-block-paragraph"><strong>New String Functions</strong></p>



<p class="wp-block-paragraph">Developers, rejoice! STRING_AGG, TRIM, TRANSLATE, and CONCAT_WS may seem like cute new functions, but STRING_AGG alone eliminates the XML PATH abomination we’ve been using since SQL Server 2005. If you&#8217;ve never written FOR XML PATH(&#8221;) followed by STUFF to concatenate rows, count yourself lucky because now you’ll never have to. <a href="https://www.mssqltips.com/sqlservertip/4815/solve-old-problems-with-sql-servers-new-stringagg-and-stringsplit-functions/))">Read more from Aaron Bertrand</a>.</p>



<h2 class="wp-block-heading" id="h-sql-server-2019"><strong>SQL Server 2019</strong></h2>



<p class="wp-block-paragraph">This version has been very stable for years, and I would guess as of this writing it is the most popular version with our clients. And it had a few neat feature additions too (and no, I’m not talking about the troublesome <a href="https://learn.microsoft.com/en-us/sql/relational-databases/user-defined-functions/scalar-udf-inlining?view=sql-server-ver17#inlineable-scalar-udf-requirements">scalar UDF inlining and all its requirements</a>.)</p>



<p class="wp-block-paragraph"><strong>Accelerated Database Recovery (ADR)</strong></p>



<p class="wp-block-paragraph">Before ADR, if a long-running transaction got killed or the server crashed mid-flight, SQL Server had to chew through every log record from the oldest active transaction before the database came back online. For a well-behaved OLTP system that&#8217;s fine, but for a system where somebody just ran a three-hour ‘UPDATE’ with no ‘WHERE’ clause, recovery could take hours. That’s real pain.</p>



<p class="wp-block-paragraph">ADR uses a persisted version store (similar to <a href="https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/sql/snapshot-isolation-in-sql-server">RCSI</a>) so rollbacks and recovery are nearly instantaneous regardless of transaction size. Crash recovery can go from minutes to seconds. <a href="https://learn.microsoft.com/en-us/sql/relational-databases/accelerated-database-recovery-concepts">Read more from Microsoft</a>.</p>



<p class="wp-block-paragraph"><strong>Memory-Optimized Tempdb Metadata</strong></p>



<p class="wp-block-paragraph">If you&#8217;ve ever worked on a busy OLTP system where everybody and their uncle is creating and dropping #temp tables, you&#8217;ve seen the PAGELATCH_* waits on the tempdb system tables. It&#8217;s a classic contention point that no amount of &#8220;add more tempdb files&#8221; will ever fully solve.</p>



<p class="wp-block-paragraph">SQL Server 2019 lets you shove the tempdb system metadata tables into memory-optimized (Hekaton) tables, eliminating that latch contention entirely. Doing this requires a server-level setting and a restart, but for the right workload it&#8217;s night and day. Note, this feature seemed to have gotten some big improvements in SQL Server 2022. (<a href="https://www.youtube.com/watch?v=u-Rcl2GioHs">Watch Haripriya Naidu’s video with more</a>)</p>



<h2 class="wp-block-heading" id="h-sql-server-2022"><strong>SQL Server 2022</strong></h2>



<p class="wp-block-paragraph">The marketing pitch for 2022 was &#8220;the most Azure-connected SQL Server ever!&#8221; which is great if you&#8217;re in Azure and slightly less exciting if you&#8217;re not. But even setting aside the cloud stuff, there are some cool features here.</p>



<p class="wp-block-paragraph"><strong>Query Store Is On By Default (Finally)</strong></p>



<p class="wp-block-paragraph">New databases created in 2022 have Query Store turned on out of the box. It took them six years since the 2016 release, but hey, these things take time. Query Store is also now supported on readable secondary replicas in Availability Groups, which means your read-only reporting workload is finally observable. <a href="https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store">Read more from Microsoft</a>.</p>



<p class="wp-block-paragraph"><strong>Query Store Hints</strong></p>



<p class="wp-block-paragraph">You can now apply query hints *without changing application code*. Specifically, you use sys.sp_query_store_set_hints to attach hints like RECOMPILE to a specific query_id in the Query Store. For anyone who&#8217;s ever had to performance tune a vendor-supplied application where you can&#8217;t change the SQL, this is a gift. <a href="https://learn.microsoft.com/en-us/sql/relational-databases/performance/query-store-hints">Read more from Microsoft</a>.</p>



<p class="wp-block-paragraph"><strong>S3-Compatible Object Storage for Backup/Restore</strong></p>



<p class="wp-block-paragraph">You can now BACKUP TO URL and RESTORE FROM URL against S3-compatible object storage, and not just Amazon S3 but also Dell, HPE, Pure Storage, NetApp, MinIO, and others. For anyone running SQL Server in a hybrid shop, this is a much simpler backup target than wrestling with file shares or Azure-only URLs. <a href="https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/sql-server-backup-to-url-s3-compatible-object-storage">Read more from Microsoft</a>.</p>



<p class="wp-block-paragraph"><strong>Contained Availability Groups</strong></p>



<p class="wp-block-paragraph">In every pre-2022 Availability Group (AG), you had to manually keep logins, SQL Agent jobs, permissions, and linked servers in sync across replicas. (Did you ever forget to add logins on the secondary, fail over, and hear the lamentations of the users?) With contained AGs, users/logins/permissions/jobs live inside the AG itself using contained master and msdb databases so across replicas these consistencies are handled for you. <a href="https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/contained-availability-groups-overview">Read more from Microsoft</a>.</p>



<h2 class="wp-block-heading" id="h-sql-server-2025"><strong>SQL Server 2025</strong></h2>



<p class="wp-block-paragraph">SQL Server 2025 went General Availability (GA) on November 18, 2025. This is the first release in a long time where there are several situations to push clients to upgrade <em>faster </em>rather than slower.</p>



<p class="wp-block-paragraph"><strong>Standard Edition Finally Gets Some Love</strong></p>



<p class="wp-block-paragraph">For the first time since 2016 SP1, Standard Edition got a real upgrade, including:</p>



<ul class="wp-block-list">
<li>32 cores (up from 24)</li>



<li>256 GB RAM (up from 128 GB)</li>



<li>Resource Governor is now included in Standard (it was Enterprise-only forever)</li>



<li>There&#8217;s a new Standard Developer Edition so you can build dev/test environments that actually match your Standard production limits</li>
</ul>



<p class="wp-block-paragraph">If you&#8217;re a shop that has been running Standard Edition for years and feeling the squeeze, this alone is a reason to skip 2022 and jump straight to 2025. <a href="https://learn.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2025">More from Microsoft</a>.</p>



<p class="wp-block-paragraph">(Related: <strong>Express Edition gets some more love too</strong>, which now supports 50 GB databases, up from 10 GB.)</p>



<p class="wp-block-paragraph"><strong>Native Vector Type and Vector Search</strong></p>



<p class="wp-block-paragraph">Yes, this is the &#8220;AI&#8221; feature, and yes, it&#8217;s real. SQL Server 2025 has a native VECTOR data type, a vector index powered by DiskANN, and functions like VECTOR_DISTANCE, VECTOR_SEARCH, and AI_GENERATE_EMBEDDINGS that let you call out to an embedding model from T-SQL. Whether or not you personally need to build a RAG chatbot, the broader implication is big: your database can now do semantic (meaning-based) searches, not just keyword matching. <a href="https://sqlbek.wordpress.com/2025/07/24/practical-ai-in-sql-server-2025-a-vector-demo-database-for-you/">Read more from Andy Yun</a>.</p>



<p class="wp-block-paragraph"><strong>Optimized Locking</strong></p>



<p class="wp-block-paragraph">Optimized Locking uses Transaction ID (TID) locking and Lock After Qualification (LAQ) to dramatically reduce lock memory use and lock escalation. For high-concurrency OLTP workloads, Microsoft has published telemetry showing 80% of locks being skipped in some cases. It requires ADR to be enabled, but no application changes. <a href="https://techcommunity.microsoft.com/blog/sqlserver/introducing-optimized-locking-v2/4468745">Read more from Microsoft</a>.</p>



<p class="wp-block-paragraph"><strong>Native JSON Type + JSON Indexes</strong></p>



<p class="wp-block-paragraph">Since 2016 we&#8217;ve stored JSON as NVARCHAR(MAX) and lived with it. 2025 introduces a real native JSON data type (binary-stored, up to 2 GB per document) and lets you create JSON indexes on specific path expressions. There are still some quirks with JSON_VALUE not always using the index, so test carefully. <a href="https://learn.microsoft.com/en-us/sql/t-sql/statements/create-json-index-transact-sql">Read more from Microsoft</a>. &nbsp;</p>



<h2 class="wp-block-heading" id="h-but-wait-there-s-more"><strong>But wait, there’s more</strong></h2>



<p class="wp-block-paragraph">Just so you know, that was not a comprehensive list. There have been many new features added since SQL Server 2016 that, depending on your situation, could benefit your organization. These other features are all included in SQL Server 2025:</p>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/en-us/fabric/mirroring/sql-server">Fabric Mirroring</a> if you have Microsoft Fabric reasons.</li>



<li><a href="https://learn.microsoft.com/en-us/sql/relational-databases/graphs/sql-graph-overview?view=sql-server-ver17">Graph Database Support</a> for those modeling hierarchies or social networks.</li>



<li><a href="https://learn.microsoft.com/en-us/sql/relational-databases/security/ledger/ledger-overview">Ledger</a> to give you a tamper-evident (cryptographically verifiable) record of every change made to specific tables.</li>



<li><a href="https://learn.microsoft.com/en-us/sql/relational-databases/performance/optional-parameter-plan-optimization">Optional Parameter Plan Optimization</a> (OPPO) can now generate different execution plans adapted to the runtime parameter values for “kitchen sink” queries.</li>



<li><a href="https://tomaztsql.wordpress.com/2025/12/06/advent-of-2025-day-6-sql-server-2025-new-t-sql-functions-regexp_like/">Regex Support</a> with a bunch of new T-SQL commands.</li>



<li><a href="https://learn.microsoft.com/en-us/sql/connect/ado-net/sql/tds-8">TDS 8.0 / TLS 1.3 support</a> for the security-minded folks.</li>



<li><a href="https://techcommunity.microsoft.com/blog/azuresqlblog/zstd-compression-in-sql-server-2025/4415418">ZSTD Compression</a> allows for faster, small backups than the default compression.</li>
</ul>



<p class="wp-block-paragraph">Thanks for reading. Now go forth and plan to upgrade your SQL Server 2016 instances.</p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-key-features-from-sql-server-versions-2017-2025/">SQL Server 2016 &#8211; the Final Countdown: Key Features from SQL Server versions 2017–2025</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://straightpathsql.com/sql-server-2016-the-final-countdown-key-features-from-sql-server-versions-2017-2025/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Session: Defending Your SQL Server: Practical Strategies against Ransomware by Jeff Iannucci</title>
		<link>https://straightpathsql.com/session-defending-your-sql-server-practical-strategies-against-ransomware-by-jeff-iannucci/</link>
					<comments>https://straightpathsql.com/session-defending-your-sql-server-practical-strategies-against-ransomware-by-jeff-iannucci/#respond</comments>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Mon, 15 Jun 2026 20:16:51 +0000</pubDate>
				<category><![CDATA[Database Administration]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[sp_CheckSecurity]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[SQL Server]]></category>
		<guid isPermaLink="false">https://straightpathsql.com/?p=4958</guid>

					<description><![CDATA[<p>I&#8217;ve presented different versions of this session for a few years now, and I&#8217;ll keep giving it as long as ransomware keeps affecting so many organizations. There are a number of troubling default setting in SQL Server, as well as some commonly seen practices that can unintentionally result in attack vectors. I want to help ... <a title="Session: Defending Your SQL Server: Practical Strategies against Ransomware by Jeff Iannucci" class="read-more" href="https://straightpathsql.com/session-defending-your-sql-server-practical-strategies-against-ransomware-by-jeff-iannucci/" aria-label="Read more about Session: Defending Your SQL Server: Practical Strategies against Ransomware by Jeff Iannucci">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/session-defending-your-sql-server-practical-strategies-against-ransomware-by-jeff-iannucci/">Session: Defending Your SQL Server: Practical Strategies against Ransomware by Jeff Iannucci</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I&#8217;ve presented different versions of this session for a few years now, and I&#8217;ll keep giving it as long as ransomware keeps affecting so many organizations. There are a number of troubling default setting in SQL Server, as well as some commonly seen practices that can unintentionally result in attack vectors. I want to help folks have a better understanding of what those are, why they are problematic, and what actions you should take now. <br><br>But my session is only one of dozens being offered for this nearly-free day of learning. If you&#8217;re in Boston, I&#8217;d love to see you at this wonderful event!</p>
<p>The post <a href="https://straightpathsql.com/session-defending-your-sql-server-practical-strategies-against-ransomware-by-jeff-iannucci/">Session: Defending Your SQL Server: Practical Strategies against Ransomware by Jeff Iannucci</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://straightpathsql.com/session-defending-your-sql-server-practical-strategies-against-ransomware-by-jeff-iannucci/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
