<?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>Tue, 23 Jun 2026 20:33:52 +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>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>
		
		<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>
					
		
		
			</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>
		
		<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>
					
		
		
			</item>
		<item>
		<title>AI Builds to Ship (But not to Maintain)</title>
		<link>https://straightpathsql.com/ai-builds-to-ship-but-not-to-maintain/</link>
		
		<dc:creator><![CDATA[Buck Woody]]></dc:creator>
		<pubDate>Thu, 11 Jun 2026 13:57:22 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://straightpathsql.com/?p=4799</guid>

					<description><![CDATA[<p>Artificial Intelligence constructs, from Large Language Models answering questions to Agentic AI that runs various workflows are fantastic, amazing, helpful tools in getting a job done. They aren&#8217;t quite completely automating entire tasks (The best ones as of this writing are correctly implementing around one out of three tasks accurately:&#160;https://llm-stats.com/benchmarks/apex-agents) but they are still a ... <a title="AI Builds to Ship (But not to Maintain)" class="read-more" href="https://straightpathsql.com/ai-builds-to-ship-but-not-to-maintain/" aria-label="Read more about AI Builds to Ship (But not to Maintain)">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/ai-builds-to-ship-but-not-to-maintain/">AI Builds to Ship (But not to Maintain)</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">Artificial Intelligence constructs, from Large Language Models answering questions to Agentic AI that runs various workflows are fantastic, amazing, helpful tools in getting a job done. They aren&#8217;t quite completely automating entire tasks (The best ones as of this writing are correctly implementing around one out of three tasks accurately:&nbsp;<a href="https://llm-stats.com/benchmarks/apex-agents" target="_blank" rel="noreferrer noopener">https://llm-stats.com/benchmarks/apex-agents</a>) but they are still a very helpful tool. &#8220;Vibe Coding&#8221; which means explaining to a model that can write code (or a Codex) what you want the code to do, trying it out, then correcting it until it does the thing, is prevalent everywhere now. And it&#8217;s easy to do.</p>



<p class="wp-block-paragraph">But the code a Codex creates meets a single need: to ship. It works through the process line by line, having learned from decades of training corpus material on the most popular languages, libraries and frameworks, and does its best to cobble together that vast background of knowledge into a product. However, when you take a look at what it creates, in some cases it&#8217;s almost incomprehensible. You can try this yourself: Open your favorite AI Codex tool and ask it to build a Single Web Page App (SWA) that does something non-trivial, like reading and writing data to a database like SQLite. Ensure you have various buttons and menus to do that work. Vibe code that until it works.</p>



<p class="wp-block-paragraph">Now open the assets it created. First, you&#8217;ll notice how massive the page is. Now change two of the more non-trivial menu items or button actions that the Codex created to do something else. Don&#8217;t just rename the button or add a color, have it do some work. My observation is that if you are not an experienced developer in the framework and code the Codex picked, you won&#8217;t be able to do that, or at best you&#8217;ll break it and need the Codex&#8217;s help again. And when it does, the codebase will become even more massive.</p>



<p class="wp-block-paragraph">If you are an experienced developer, you can probably suss out what the Codex did and make the change. But after the initial amazement that it coded the brief, you will begin to see things that you would have done very differently. I&#8217;ve opened some of the Codex results, and I am actually pretty shocked that it wrote what it did. I find myself saying &#8220;why not just do a single line of a lambda function rather than these 58 lines it wrote?&#8221;</p>



<p class="wp-block-paragraph">It&#8217;s not hard to write software that you can deploy. It&#8217;s really hard to check that software for edge case bugs, security violations, optimizations, and package it for deployment into an enterprise. Depending on how large the deployment becomes, most Codex&#8217;s start to choke, lose context and memory and start to hallucinate when you pass the entire solution back in and say &#8220;Revise this to include a custom sort the customer wants.&#8221; Try that now with your single page. Add a new, non-trivial function to the base. Then run a code optimization on it. Then pass it through a security check.</p>



<p class="wp-block-paragraph">This is why you haven&#8217;t seen Codex developed software replace an SAP or some large enterprise software package. You need an extremely high level of software development process and procedure over decades and decades to release something like that.</p>



<p class="wp-block-paragraph">To be clear, I am not saying &#8220;don&#8217;t vibe code things&#8221;. You should use this amazing new tool for things you need to create. The advice I give my clients is to develop in a modular way, as atomically as possible. Micro-services, Service Oriented Architectures, or just making sure each module is small and encapsulated and talks to other modules via an endpoint will serve you well. Then you can swap out, optimize, check and maintain small chunks of code.</p>



<p class="wp-block-paragraph"><em>This is today. Tomorrow AI will start eating away at these problems, and this post won&#8217;t be as accurate. But it illustrates an important point: You need to be smarter than what you are using as the tool. You need to know what it should do, and why it might make the choices it does. It will help in your prompting, architecting, &#8220;Brain&#8221; files and so on to get the best results. </em></p>



<p class="wp-block-paragraph"><em><strong>Remember: It&#8217;s a tool, not a replacement for your professionalism.</strong></em></p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://straightpathsql.com/ai-builds-to-ship-but-not-to-maintain/">AI Builds to Ship (But not to Maintain)</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server 2016 &#8211; the Final Countdown: Features Deprecated and Discontinued Since SQL Server 2016</title>
		<link>https://straightpathsql.com/sql-server-2016-the-final-countdown-features-deprecated-and-discontinued-since-sql-server-2016/</link>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Wed, 10 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 2016 The Final Countdown]]></category>
		<category><![CDATA[sql server upgrade]]></category>
		<guid isPermaLink="false">https://straightpthdev.wpenginepowered.com/?p=4634</guid>

					<description><![CDATA[<p>This post is part of a series we are calling &#8220;SQL Server 2016 &#8211; The Final Countdown.&#8221; If you’re planning on upgrading from SQL Server 2016 to the current version of SQL Server 2025, it would be helpful to note some of the features from versions since 2016 that are no longer supported. By that ... <a title="SQL Server 2016 &#8211; the Final Countdown: Features Deprecated and Discontinued Since SQL Server 2016" class="read-more" href="https://straightpathsql.com/sql-server-2016-the-final-countdown-features-deprecated-and-discontinued-since-sql-server-2016/" aria-label="Read more about SQL Server 2016 &#8211; the Final Countdown: Features Deprecated and Discontinued Since SQL Server 2016">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-features-deprecated-and-discontinued-since-sql-server-2016/">SQL Server 2016 &#8211; the Final Countdown: Features Deprecated and Discontinued Since SQL Server 2016</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">If you’re planning on upgrading from SQL Server 2016 to the current version of SQL Server 2025, it would be helpful to note some of the features from versions since 2016 that are no longer supported. By that I’m talking about those things classified as “deprecated” (no longer supported) or “discontinued” (removed from the product). Let’s take a look at these features and say our goodbyes, organized by versions.</p>



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



<p class="wp-block-paragraph">So here&#8217;s a fun fact I found while researching deprecated features for a SQL Server 2016 migration. When you pull up the <a href="https://learn.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2017?view=sql-server-ver17">Deprecated Database Engine features in SQL Server 2017</a> page on Microsoft Learn and scroll down a bit, Microsoft comes right out and tells you:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">&#8220;This list is identical to the SQL Server 2016 (13.x) list. There are no new deprecated or discontinued Database Engine features announced for SQL Server 2017 (14.x).&#8221;</p>
</blockquote>



<p class="wp-block-paragraph">In other words, SQL Server 2017 was a freebie on the deprecation front. Nothing new got flagged for removal. Which was great for us, but it also means if you&#8217;re migrating from SQL Server 2016 <em>or 2017</em> to something newer, the same missing features could bite you when you upgrade to a higher version.</p>



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



<p class="wp-block-paragraph">SQL Server 2019 was fairly quiet in the deprecation department. According to the <a href="https://learn.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2019?view=sql-server-ver17">Deprecated Database Engine features in SQL Server 2019</a> page, only two items got newly flagged, but unfortunately they&#8217;re both big ones for folks with BI and data governance workloads.</p>



<p class="wp-block-paragraph"><strong>Data Quality Services (DQS)</strong></p>



<p class="wp-block-paragraph">DQS is the knowledge-base-driven data cleansing feature from the Microsoft BI era. It lets you build domains of valid values and then match/cleanse data against them. If you&#8217;re not using it, great – skip ahead. If you are, well, consider this your heads up: it still works in SQL Server 2019 and 2022, but Microsoft <a href="https://learn.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2019?view=sql-server-ver17">removed it entirely in SQL Server 2025</a>.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> Any ETL workflow, SSIS package, or MDM process that leans on DQS won&#8217;t just be deprecated on SQL Server 2025 – it simply won&#8217;t be there at all. Start evaluating alternatives now (Azure-based cleansing services, third-party tools, or custom solutions) before somebody tells you the SQL 2025 upgrade is happening next week.</p>



<p class="wp-block-paragraph"><strong>Master Data Services (MDS)</strong></p>



<p class="wp-block-paragraph">Same story as DQS. MDS is Microsoft&#8217;s master data management platform, used for building golden records of customers, products, accounts, whatever. Deprecated in 2019, it still works in 2022, but it also was <a href="Deprecated%20Database%20Engine%20features%20in%20SQL%20Server%202019">removed in SQL Server 2025</a>.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> If you&#8217;ve built hierarchies, business rules, and workflows in MDS, that&#8217;s a significant migration project waiting for you. Don&#8217;t let it surprise you during the upgrade meeting.</p>



<p class="wp-block-paragraph">Also, <a href="https://learn.microsoft.com/en-us/sql/database-engine/discontinued-database-engine-functionality-in-sql-server?view=sql-server-ver17">some database scoped configuration options were quietly retired in SQL Server 2019</a>. None of these will probably wake you up at 2am, but they&#8217;re worth knowing about if you inherited scripts from an earlier era. Here are some examples.</p>



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



<p class="wp-block-paragraph">This was the off switch for the adaptive joins feature (introduced in SQL Server 2017). In 2019, Microsoft decided you shouldn&#8217;t need a knob for that anymore, so they removed it.</p>



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



<p class="wp-block-paragraph">Same idea, different feature. Memory grant feedback no longer has a dedicated disable switch at the database scoped configuration level.</p>



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



<p class="wp-block-paragraph">The disable switch for interleaved execution of multi-statement table-valued functions is gone too.</p>



<p class="wp-block-paragraph"><strong>Why any of these matter:</strong> If you ran across any older &#8220;performance tuning&#8221; scripts from around 2017-2018 that attempted to flip these switches, they&#8217;ll now throw errors on SQL 2019+. Clean those up before running them post-upgrade.</p>



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



<p class="wp-block-paragraph">This is where things get interesting. SQL Server 2022 flagged several notable features for deprecation, per the <a href="https://learn.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2022?view=sql-server-ver17">Deprecated Database Engine features in SQL Server 2022</a> page.</p>



<p class="wp-block-paragraph"><strong>Distributed Replay</strong></p>



<p class="wp-block-paragraph">Remember Distributed Replay? It was (is?) the multi-machine workload replay tool. Think of it as SQL Server Profiler&#8217;s cousin that could replay a trace from several client machines at once to simulate a real production load. This has been very handy for pre-upgrade testing for manyof us.</p>



<p class="wp-block-paragraph">Except now it&#8217;s deprecated. Even worse: it&#8217;s not even shipped with SQL Server 2022 anymore. The <a href="https://learn.microsoft.com/en-us/sql/tools/distributed-replay/sql-server-distributed-replay?view=sql-server-ver17">Distributed Replay overview page</a> bluntly says:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">&#8220;Distributed Replay is deprecated as of SQL Server 2022 (16.x)&#8230; The Distributed Replay Controller has been removed from SQL Server 2022 Setup.&#8221;</p>
</blockquote>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> If your team uses Distributed Replay as part of your pre-upgrade testing workflow (and if you&#8217;re running production workloads in the hundreds of batches per second, you might be), you&#8217;ll need to stop, because it&#8217;s removed from setup in 2022. Microsoft suggests <a href="https://learn.microsoft.com/en-us/troubleshoot/sql/tools/replay-markup-language-utility">RML Utilities</a> which includes ostress as an alternative. It&#8217;s not a perfect replacement, but it&#8217;s what we&#8217;ve got.</p>



<p class="wp-block-paragraph"><strong>Machine Learning Server (Standalone)</strong></p>



<p class="wp-block-paragraph">Not to be confused with SQL Server Machine Learning <em>Services</em> (in-database R/Python), <strong>Machine Learning Server</strong> was the standalone product for running R and Python workloads outside SQL Server. Extended support for the standalone product <a href="https://learn.microsoft.com/en-us/lifecycle/announcements/microsoft-machine-learning-server-retiring">ended on July 1, 2022</a>, so this one was already essentially dead before 2022 even shipped.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> If you were running a standalone ML Server as part of your data science stack, you need to migrate to Azure Machine Learning or some other platform. The in-database Machine Learning Services feature inside SQL Server is still supported, so don&#8217;t confuse the two.</p>



<p class="wp-block-paragraph"><strong>Stretch Database</strong></p>



<p class="wp-block-paragraph">Stretch Database was the feature that let you transparently migrate cold rows from an on-premises table to Azure SQL Database while making them still queryable. The actual performance may not have been the best, which might be why it never really caught on. Anyhow, now <a href="https://learn.microsoft.com/en-us/sql/database-engine/discontinued-database-engine-functionality-in-sql-server?view=sql-server-ver17">Stretch Database is deprecated</a>.</p>



<p class="wp-block-paragraph">Here&#8217;s the best part: even if you ignored the deprecation, Microsoft <strong>discontinued Stretch Database in all supported versions of SQL Server as of July 2024</strong>. So it&#8217;s gone. If you had it enabled, you had to migrate your data back on-prem before July 2024 or it became inaccessible.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> Hopefully you already handled this, because July 2024 is way far in the rearview mirror. But if by some chance you have a dusty old instance still running Stretch Database, you&#8217;ve got a data retrieval problem you need to deal with several yesterdays ago.</p>



<p class="wp-block-paragraph">SQL Server 2022 really went big with the discontinuation list, cleaning house on a lot of &#8220;big data&#8221; tech that never really delivered on its promise. Here are some more features in the graveyard.</p>



<p class="wp-block-paragraph"><strong>PolyBase Scale-Out Groups</strong></p>



<p class="wp-block-paragraph">PolyBase is still around as a data virtualization feature, but the <strong>scale-out group</strong> functionality (where you could cluster multiple SQL Server instances to parallelize external queries) <a href="https://learn.microsoft.com/en-us/sql/relational-databases/polybase/polybase-scale-out-groups?view=sql-server-ver17">has been removed entirely from SQL Server 2022</a>.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> If you built any kind of PolyBase cluster for querying Hadoop or external data at scale, that architecture needs to be rethought. PolyBase as a scale-up feature on a single SQL Server instance still works though.</p>



<p class="wp-block-paragraph"><strong>Hadoop (HDFS) External Data Sources for PolyBase</strong></p>



<p class="wp-block-paragraph">If you had PolyBase external data sources configured with TYPE = HADOOP, <a href="https://learn.microsoft.com/en-us/sql/database-engine/discontinued-database-engine-functionality-in-sql-server?view=sql-server-ver17">those are no longer supported in SQL Server 2022</a>. You have to manually recreate them using the new connectors. Similarly, if you were connecting to Azure Storage with the old wasb[s] or abfs[s] syntax, you need the new abs and adls connectors respectively.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> This is not a &#8220;just upgrade and it works&#8221; situation. If your shop was using PolyBase to federate queries against Hadoop or Azure Storage, you have actual T-SQL to rewrite.</p>



<p class="wp-block-paragraph"><strong>Machine Learning Services Packages Removed from Setup</strong></p>



<p class="wp-block-paragraph">Starting with SQL Server 2022, <a href="https://learn.microsoft.com/en-us/sql/database-engine/discontinued-database-engine-functionality-in-sql-server?view=sql-server-ver17">Microsoft stopped bundling certain R and Python packages with the install</a>. Specifically: microsoftml (Python), olapR (R), sqlrutils (R), and MicrosoftML (R). You can still install them as custom packages, they&#8217;re just no longer out-of-the-box.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> If you upgrade a SQL Server with in-database R/Python scripts that import these packages, you&#8217;ll get runtime errors unless somebody installs them manually on the new instance. Check your sp_execute_external_script calls.</p>



<p class="wp-block-paragraph"><strong>SQL Server Big Data Clusters</strong></p>



<p class="wp-block-paragraph">SQL Server Big Data Clusters – the 2019-era Kubernetes-based SQL + Spark + HDFS platform – <a href="https://learn.microsoft.com/en-us/sql/big-data-cluster/big-data-options?view=sql-server-ver17">was officially retired as of February 28, 2025</a>. It&#8217;s no longer a thing in SQL Server 2022 either.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> If you deployed BDC, you have a whole architecture to replace. From what I can tell, Microsoft now recommends a mix of SQL Server 2022 with object storage, Azure Synapse (now largely replaced by Microsoft Fabric, but I&#8217;ll get to that), or Azure Machine Learning for the predictive workloads.</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 is still fairly new (at least it was at the time I&#8217;m writng this), but it&#8217;s already flagged two configuration-type features. Per the <a href="https://learn.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2025?view=sql-server-ver17">Deprecated Database Engine features in SQL Server 2025</a> page:</p>



<p class="wp-block-paragraph"><strong>Hot Add CPU</strong></p>



<p class="wp-block-paragraph">This was the feature that let you add CPUs to a SQL Server without restarting the service. It might have been useful back in the day when VMs couldn&#8217;t really be hot-scaled, but it&#8217;s <a href="https://learn.microsoft.com/en-us/sql/relational-databases/thread-and-task-architecture-guide?view=sql-server-ver17#hot-add-cpu">now deprecated</a>.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> Honestly, if you&#8217;re running in modern VM environments, you probably didn’t use this. But if you had any automation that relied on runtime CPU scaling, check it.</p>



<p class="wp-block-paragraph"><strong>Lightweight Pooling (Fiber Mode)</strong></p>



<p class="wp-block-paragraph">The lightweight pooling sp_configure option – and its corresponding <strong>fiber mode</strong> – is <a href="https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/lightweight-pooling-server-configuration-option?view=sql-server-ver17">now officially deprecated</a>. This was an old-school option that switched SQL Server from using threads to using fibers for scheduling, with the supposed benefit of reduced context-switch overhead. In practice, it may have caused way more problems than it solved, and truthfully, I don’t know anyone who actually turned it on.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> Just make sure lightweight pooling is set to 0 on your instances (which it should be anyway), and you&#8217;re good. If you had it enabled, well, now&#8217;s the time to turn it off.</p>



<p class="wp-block-paragraph">SQL Server 2025 also discontinued some of the deprecated features from the previous version. So they’re gone forevermore.</p>



<p class="wp-block-paragraph"><strong>Data Quality Services (DQS)</strong></p>



<p class="wp-block-paragraph">Deprecated in SQL Server 2019, as mentioned a few paragraphs ago it is now <a href="https://learn.microsoft.com/en-us/sql/database-engine/discontinued-database-engine-functionality-in-sql-server?view=sql-server-ver17">gone</a>. If you&#8217;ve got DQS workloads running, you cannot upgrade to SQL Server 2025 without migrating them first.</p>



<p class="wp-block-paragraph"><strong>Master Data Services (MDS)</strong></p>



<p class="wp-block-paragraph"><a href="https://learn.microsoft.com/en-us/sql/database-engine/discontinued-database-engine-functionality-in-sql-server?view=sql-server-ver17">Also gone</a>. Same deal as DQS.</p>



<p class="wp-block-paragraph"><strong>Synapse Link for SQL</strong></p>



<p class="wp-block-paragraph">Azure Synapse Link for SQL was the near-real-time analytics replication feature introduced with SQL Server 2022. It created a change feed from your operational database into a Synapse dedicated SQL pool. Well, <a href="https://learn.microsoft.com/en-us/azure/synapse-analytics/synapse-link/synapse-link-for-sql-known-issues">it&#8217;s discontinued in SQL Server 2025</a>, as in “not supported.” This is presumably because Microsoft is steering everyone toward <strong>Mirroring in Microsoft Fabric</strong> instead.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> If you&#8217;re on SQL Server 2022 and using Synapse Link, you&#8217;ve got a migration to Fabric Mirroring to plan. The good news is for now Fabric Mirroring supports SQL Server 2016+, so you have options even on older versions.</p>



<p class="wp-block-paragraph"><strong>Purview Access Policies (DevOps and Data Owner Policies)</strong></p>



<p class="wp-block-paragraph"><a href="https://learn.microsoft.com/en-us/sql/database-engine/discontinued-database-engine-functionality-in-sql-server?view=sql-server-ver17">Purview access policies are discontinued in SQL Server 2025</a>. Microsoft is shifting to the fixed server-level roles model (introduced in SQL Server 2022) for this kind of access management. New roles like ##MS_ServerPerformanceStateReader##, ##MS_PerformanceDefinitionReader##, ##MS_ServerSecurityStateReader##, ##MS_SecurityDefinitionReader##, and ##MS_DatabaseConnector## replace the old Purview policy actions.</p>



<p class="wp-block-paragraph"><strong>Why it matters:</strong> If you implemented Purview-based access control on your SQL Servers, you need to rework it using the new server roles. That’s probably not a casual afternoon project.</p>



<h2 class="wp-block-heading" id="h-now-what"><strong>Now what?</strong></h2>



<p class="wp-block-paragraph">That’s a lot of features. Some are rather obscure, so I’m sure you’re wondering whether or not you are using them. I have good news for you! If you want to find out what deprecated features are being used on your SQL Server instances, you have several tools available to help you.</p>



<p class="wp-block-paragraph">I was going to finish this post by showing you how you could use instance level counters, extended events, and more to identify deprecated features in your SQL Server instance…but <a href="Instance-level%20counters%20that%20track%20usage%20of%20some%20deprecated%20features">Stephen Planck has already written a post that shows you how to do those things to find deprecated features in SQL Server</a>. Do check it out, and take notes.</p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-features-deprecated-and-discontinued-since-sql-server-2016/">SQL Server 2016 &#8211; the Final Countdown: Features Deprecated and Discontinued Since SQL Server 2016</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server 2016 &#8211; the Final Countdown: What End of Support Means and Why You Should Care</title>
		<link>https://straightpathsql.com/sql-server-2016-the-final-countdown-what-end-of-support-means-and-why-you-should-care/</link>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Wed, 03 Jun 2026 23:55:36 +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 2016 The Final Countdown]]></category>
		<category><![CDATA[SQL Upgrade]]></category>
		<guid isPermaLink="false">https://straightpthdev.wpenginepowered.com/sql-server-2016-the-final-countdown-what-end-of-support-means-and-why-you-should-care/</guid>

					<description><![CDATA[<p>Many of us have been working with SQL Server long enough to remember when SQL Server 2016 was shiny and new. It’s unquestionably a milestone of a version with Query Store being introduced, availability groups finally working, lots of features eventually added to Standard Edition, and more. But now it is old enough that Microsoft ... <a title="SQL Server 2016 &#8211; the Final Countdown: What End of Support Means and Why You Should Care" class="read-more" href="https://straightpathsql.com/sql-server-2016-the-final-countdown-what-end-of-support-means-and-why-you-should-care/" aria-label="Read more about SQL Server 2016 &#8211; the Final Countdown: What End of Support Means and Why You Should Care">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-what-end-of-support-means-and-why-you-should-care/">SQL Server 2016 &#8211; the Final Countdown: What End of Support Means and Why You Should Care</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">Many of us have been working with SQL Server long enough to remember when SQL Server 2016 was shiny and new. It’s unquestionably a milestone of a version with Query Store being introduced, availability groups finally working, lots of features eventually added to Standard Edition, and more. But now it is old enough that Microsoft is politely showing it the door.</p>



<p class="wp-block-paragraph">That’s right: it’s time to plan to retire SQL Server 2016 to <a href="https://seinfeld.fandom.com/wiki/Del_Boca_Vista">Del Boca Vista</a>. And soon.</p>



<p class="wp-block-paragraph">This post is the first in a series we are calling <strong>&#8220;SQL Server 2016 &#8211; The Final Countdown.&#8221;</strong> (Yes, you may now have <a href="https://www.youtube.com/watch?v=9jK-NcRmVcw">that song</a> stuck in your head for the rest of the day, and you are welcome.) Over several posts we are going to walk through what you ought to know before this version rides off into the sunset, but today we start with the big one: the end of support, what it actually means, and why you should care a good deal more than you probably do right now.</p>



<p class="wp-block-paragraph">And although &#8220;End of support&#8221; sounds like one of those vague corporate phrases that lives inside an email you never opened, I assure you it is a real concern. It has a date, it has consequences, and if you are running SQL Server 2016 in production, it has your organization’s name on it.</p>



<p class="wp-block-paragraph">Let&#8217;s get to it then.</p>



<span id="more-4642"></span>



<h2 class="wp-block-heading" id="h-the-timeline-or-how-we-got-here"><strong>The Timeline (or How We Got Here)</strong></h2>



<p class="wp-block-paragraph">Every version of SQL Server gets two phases of support from Microsoft.</p>



<p class="wp-block-paragraph"><strong>Mainstream support</strong> is the good years. You get security patches, cumulative updates with bug fixes and feature tweaks, and the ability to call Microsoft when something goes sideways at 2:00 AM. For SQL Server 2016, mainstream support ended on <strong>July 13, 2021.</strong> If you didn’t notice, it’s probably because you don’t regularly apply updates to your instances. The rest of us may be silently judging you.</p>



<p class="wp-block-paragraph"><strong>Extended support</strong> is the twilight years. No new features, no non-security bug fixes, just critical security patches and a phone number you hope you never have to call. SQL Server 2016 has been living in this phase for a 5-year period, quietly collecting security updates while many folks have moved on to SQL Server 2022 or 2025.</p>



<p class="wp-block-paragraph">And this is the main thing: <a href="https://learn.microsoft.com/en-us/lifecycle/products/sql-server-2016">Extended Support for SQL Server 2016 ends on <strong>July 14, 2026</strong></a><strong>.</strong></p>



<p class="wp-block-paragraph">Mark it on the calendar, set a reminder, and/or tattoo it somewhere tasteful, because after that date, SQL Server 2016 is, for all practical purposes, on its own.</p>



<h2 class="wp-block-heading" id="h-what-end-of-extended-support-actually-means"><strong>What &#8220;End of Extended Support&#8221; Actually Means</strong></h2>



<p class="wp-block-paragraph">Since we’re friends and I want you to take away more than just an epic 80s song from this series, let’s be clear about this. When extended support ends, here is what stops:</p>



<ul class="wp-block-list">
<li><strong>No more security patches.</strong> This is the big one. When a new vulnerability turns up in the SQL Server engine after July 14, 2026, and trust me, they will keep turning up, Microsoft will not be fixing it for 2016. That hole stays open. Forever.</li>



<li><strong>No more bug fixes.</strong> Found a weird bug? Congratulations, that is now a permanent feature.</li>



<li><strong>No more technical support.</strong> You cannot open a support case. There is no one to call. The number has been disconnected, metaphorically speaking.</li>



<li><strong>No more compatibility updates.</strong> As Windows Server, .NET, and your hardware keep marching forward, SQL Server 2016 stays frozen in place, and the gap between them gets a little wider every single year.</li>
</ul>



<p class="wp-block-paragraph">Now notice what does NOT happen on July 15, 2026: your instance does not burst into flames. SQL Server 2016 will keep running exactly like it did the day before. And that, my friends, is the trap. Nothing visibly breaks, so it becomes very easy to convince yourself that nothing is wrong.</p>



<h2 class="wp-block-heading" id="h-the-risks-of-staying-put"><strong>The Risks of Staying Put</strong></h2>



<p class="wp-block-paragraph">&#8220;But it still works, so why bother?&#8221; We hear this a lot, usually right before something expensive happens. Here is what you are actually signing up for if you decide to ride SQL Server 2016 past the deadline.</p>



<p class="wp-block-paragraph"><strong>Security risk that only grows.</strong> Every month after July 2026, the pile of known, unpatched vulnerabilities gets a little taller. Attackers love unsupported software precisely because those holes never get fixed. You are not standing still; you are slowly falling behind while everyone with bad intentions keeps moving forward.</p>



<p class="wp-block-paragraph"><strong>Compliance and audit headaches.</strong> If your organization answers to PCI DSS, HIPAA, SOC 2, ISO 27001, or some other framework of compliance acronyms, then running unsupported software is a “finding” waiting to happen. In our experience, auditors are not impressed by &#8220;but it still works.&#8221; And they aren’t wrong.</p>



<p class="wp-block-paragraph"><strong>Cyber insurance complications.</strong> More and more insurers want to know whether you are running supported software before they pay out a claim, or before they agree to renew you at all. An unsupported database engine is exactly the kind of detail that surfaces in the fine print at the worst possible moment. This could lead to a resume generating event for you and your colleagues.</p>



<p class="wp-block-paragraph"><strong>Vendor abandonment.</strong> Software vendors eventually stop certifying their applications against old database engines. At some point your ERP or line-of-business vendor says they no longer support SQL Server 2016, and now you have even more software out of support.</p>



<p class="wp-block-paragraph"><strong>Growing technical debt.</strong> Every year you wait, the eventual migration gets bigger, riskier, and more expensive. The version gap widens, the institutional knowledge fades, and the person who set it all up has long since left for greener pastures (probably with supported software). Future You would greatly appreciate if Present You would take care of that migration to a supported version now.</p>



<h2 class="wp-block-heading" id="h-a-quick-word-about-extended-security-updates"><strong>A Quick Word About Extended Security Updates</strong></h2>



<p class="wp-block-paragraph">Now, before someone emails me or adds a sternly worded comment, yes, there is an escape hatch. Microsoft offers Extended Security Updates (ESU) for SQL Server 2016, which buys you up to three more years of critical security patches past July 2026, available either through Azure or your licensing partner. But there are two things about ESU to consider.</p>



<ul class="wp-block-list">
<li>ESU covers critical security patches and nothing else. No bug fixes, no features, no general support.</li>



<li>The pricing is, how shall I put it, <em>motivational</em>. It climbs every year, starting around 75 percent of your original license cost in year one and escalating sharply from there. By the time you have paid for all three years, you will have spent several times your original license price for the privilege of standing still. Microsoft is not being subtle about wanting you to upgrade, and the invoice makes the argument obvious.</li>
</ul>



<p class="wp-block-paragraph">You can use ESU to give yourself breathing room, but it’s best applied for a migration that is already in motion, or at the very least planned. We don’t recommend using it as a clever way to avoid a migration entirely, because that math rarely works out.</p>



<h2 class="wp-block-heading" id="h-why-you-should-care-the-short-version"><strong>Why You Should Care (The Short Version)</strong></h2>



<p class="wp-block-paragraph">Doing nothing is a decision, but ironically it could be the most <em>expensive</em> choice. The deadline is real, the date is fixed, and migrations always take longer than anyone expects. Whether your destination is SQL Server 2022, SQL Server 2025, Azure SQL, or somewhere else entirely, the best time to start planning was last year. The second-best time is today.</p>



<p class="wp-block-paragraph">In the rest of this series we will dig into the more things you ought to know to further encourage you towards moving to a supported version. For now, go find out where you are running SQL Server 2016 and start planning to migrate if you haven’t already. And if you need some help getting that migration approved, here is something you can copy, paste, and forward to the people who control the budget.</p>



<h2 class="wp-block-heading" id="h-executive-summary-sql-server-2016-end-of-support"><strong>Executive Summary: SQL Server 2016 End of Support</strong></h2>



<p class="wp-block-paragraph"><em>For distribution to leadership and decision makers.</em></p>



<p class="wp-block-paragraph"><strong>The situation.</strong> Microsoft ends extended support for SQL Server 2016 on <strong>July 14, 2026.</strong> After this date, Microsoft will no longer provide security patches, bug fixes, compatibility updates, or technical support for this version. (Mainstream support already ended on July 13, 2021.)</p>



<p class="wp-block-paragraph"><strong>Why it matters.</strong></p>



<ul class="wp-block-list">
<li><strong>Security:</strong> Newly discovered vulnerabilities will never be patched, leaving affected systems permanently exposed.</li>



<li><strong>Compliance:</strong> Running unsupported software can cause failures against PCI DSS, HIPAA, SOC 2, ISO 27001, and similar frameworks, creating audit findings and potential penalties.</li>



<li><strong>Insurance:</strong> Cyber insurance providers increasingly require supported software as a condition of coverage and claims.</li>



<li><strong>Vendor support:</strong> Third-party software vendors will stop certifying their applications against SQL Server 2016.</li>



<li><strong>Cost:</strong> The effort, risk, and expense of migration all increase the longer the upgrade is delayed.</li>
</ul>



<p class="wp-block-paragraph"><strong>The options.</strong></p>



<ol start="1" class="wp-block-list">
<li><strong>Upgrade</strong> to a supported version. SQL Server 2022 or 2025, or migrating to a cloud platform such as Azure SQL. These are the recommendations since SQL Server 2017 or 2019 are already in Extended Support.</li>



<li><strong>Purchase Extended Security Updates (ESU)</strong> for up to three additional years of critical security patches only. Pricing escalates each year and is intended as a short-term bridge, not a permanent solution.</li>



<li><strong>Do nothing</strong> and accept the accumulating security, compliance, and operational risk. Not recommended.</li>
</ol>



<p class="wp-block-paragraph"><strong>Recommended action.</strong> Begin planning and budgeting for migration now. Complex environments can take several months to migrate safely, and the deadline is fixed. Starting early reduces risk, cost, and disruption.</p>



<p class="wp-block-paragraph"><strong>Bottom line.</strong> SQL Server 2016 will keep running after July 14, 2026, but it will do so without protection, without support, and without a safety net. The deadline is not a suggestion, and waiting only makes the eventual project harder.</p>
<p>The post <a href="https://straightpathsql.com/sql-server-2016-the-final-countdown-what-end-of-support-means-and-why-you-should-care/">SQL Server 2016 &#8211; the Final Countdown: What End of Support Means and Why You Should Care</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server: Database or Data Platform?</title>
		<link>https://straightpathsql.com/sql-server-database-or-data-platform/</link>
		
		<dc:creator><![CDATA[Buck Woody]]></dc:creator>
		<pubDate>Fri, 29 May 2026 15:30:00 +0000</pubDate>
				<category><![CDATA[Data Strategy & Leadership]]></category>
		<category><![CDATA[Business Intelligence ETL]]></category>
		<category><![CDATA[Cloud Analytics]]></category>
		<category><![CDATA[Data Estate]]></category>
		<category><![CDATA[Data Strategy]]></category>
		<category><![CDATA[Database Architecture]]></category>
		<category><![CDATA[Database Platform]]></category>
		<category><![CDATA[DuckDB]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server History]]></category>
		<guid isPermaLink="false">https://straightpthdev.wpenginepowered.com/sql-server-database-or-data-platform/</guid>

					<description><![CDATA[<p>I&#8217;ve been working with technology for a very long time. Long enough that I have seen the words &#8220;data base&#8221; mean exactly that: a base body of data. The term implied no specific format, no particular layout, or even an engine to process it. Just raw data used for a given storage of information.  Just ... <a title="SQL Server: Database or Data Platform?" class="read-more" href="https://straightpathsql.com/sql-server-database-or-data-platform/" aria-label="Read more about SQL Server: Database or Data Platform?">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-database-or-data-platform/">SQL Server: Database or Data Platform?</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>I&#8217;ve been working with technology for a very long time. Long enough that I have seen the words &#8220;data base&#8221; mean exactly that: a base body of data. The term implied no specific format, no particular layout, or even an engine to process it. Just raw data used for a given storage of information. </em></p>



<h2 class="wp-block-heading" id="h-just-databases">Just Databases</h2>



<p class="wp-block-paragraph">Early on in my mainframe days I worked at the Kenedy Space Center for NASA here in Florida. My first foray into databases on a mainframe was IBM&#8217;s Information Management System (IMS). It was a hierarchical database and transaction manager that is still in use, even though it wa developed in the 1960s to track parts for NASA&#8217;s Apollo program. Yes, primitive now, but at the time it eventually became a staple for over 95% of the Fortune 1000. It&#8217;s still in use, processing billions of transactions every day, even now.&nbsp;</p>



<p class="wp-block-paragraph">I also used a data base software application called SQL/DS on the mainframe, which became DB2. I still have a book around my office somewhere with the &#8220;System R&#8221; logo on it where it was developed at IBM.</p>



<p class="wp-block-paragraph">In all of those cases, data was just data. We moved from COBOL flat-files to an engine over relational tables, but it was just data. Applications (green-screen terminals, thank you very much) put data in, and took data out. The function of the &#8220;database&#8221; was to do that as quickly, efficiently, and securly as possible.</p>



<h2 class="wp-block-heading" id="h-surely-you-can-do-better-than-that">Surely You Can do Better than That</h2>



<p class="wp-block-paragraph">And then I disovered and managed and used Oracle. Oracle had *Forms*. It had a reporting system , all built in. And then they added Java! And all kinds of new data types outside text, dates and numbers.&nbsp;</p>



<p class="wp-block-paragraph">It was this kind of thing, pioneered by companies like Oracle, that allowed organizations to think about centering their data estate (that became a thing) around a database platform.</p>



<h2 class="wp-block-heading" id="h-sql-server-the-little-engine-that-could">SQL Server &#8211; the Little Engine That Could</h2>



<p class="wp-block-paragraph">In the late 1980&#8217;s, in addition to the mainframes NASA used, we also had IBM&#8217;s OS/2. I joined the team that focused on this product, and one of the interesting applications it had was a command-line based database called &#8220;Microsoft SQL Server&#8221; &#8211; version 1.0. It was even client-server, meaning the database engine could run on one computer and another computer (the client) could access it over the (Token Ring) network. I was fascinated with the &#8220;Transact-SQL&#8221; dialiect of SQL it used.&nbsp;</p>



<p class="wp-block-paragraph">IBM and Microsoft broke up over OS/2, and I started my journey with Windows operating sytems, including &#8220;Windows NT Advanced Server&#8221;. By now I was using SQL Server version 6+. While Microsoft added Stored Procedures and other engine features, they were just that, engine features. For a database engine.</p>



<p class="wp-block-paragraph">Except one: The opening of the system with the Replication feature. The ability to send some or all of the data in one database to another using a dedicated system. Data could now be used differently by entirely different application needs. And companies started thinking about the database engine a little differently.</p>



<h2 class="wp-block-heading" id="h-sql-server-let-s-be-a-platform">SQL Server &#8211; Let&#8217;s Be a Platform</h2>



<p class="wp-block-paragraph">Then came SQL Server version 7 &#8211; a completely rewrite of the platform but with (mostly) backwards compatibility. It included not only a highly capable database engine with a wide suite of programability features, but Microsoft started adding things right in the box that drastically extended the ability of the system to host business-critical data estate functions. One of the most impressive was &#8220;OLAP Services&#8221;, which as the name suggests, was a full Business Intelligence (then a pretty new term) server. To fill, process and orchestrate that system, they added &#8220;Data Transformation Services&#8221; or DTS, a feature that was pushed by us administrators far past its intended purpose of Extract, Transform and Load (ETL).&nbsp;</p>



<h2 class="wp-block-heading" id="h-sql-server-the-kitchen-sink">SQL Server &#8211; The Kitchen Sink</h2>



<p class="wp-block-paragraph">Fast forward to SQL Server 2005, and we got all the &#8220;S&#8217;s&#8221;: Analysis Services for BI, Reporting Services for, well, reporting, and Integration Services which is actually hard to pin down. Integration Services does so much that I&#8217;ve seen pure Oracle shops buy SQL Server just to use Integration Services for everything from data transforms and movement to a full job system.</p>



<p class="wp-block-paragraph">Then I Joined Microsoft on the SQL Server team. What an eye-opener for me. This product was massive and had grown FAR beyond a database. You scaled out the data functions to multiple servers, with complicated disk arrangements and multiple network cards.</p>



<p class="wp-block-paragraph">And from there, more and more features showed up in heavy and rapid fashion. We added every data type you can think of: you could store whole Microsoft Office documents, music, pictures, and search them all. Full text. In-memory.&nbsp; We added not only geographic datatypes, but geo-spatial datatypes. I had one client using that feature to map out their entire warehouse, down to the shelf dimensions so they could find exactly which boxes would fit where for the most efficient storage.&nbsp; In a database!</p>



<p class="wp-block-paragraph">I moved from the SQL Server engineering team to work as a technical pro at Microsoft in the field, I then joined the team that built Azure, and then I joined the team that was implementing Machine Learning at Microsoft. And of course then that went into SQL Server. You could (and still can) run your own self-contained AI constructs and solutions and applications and never leave SQL Server.&nbsp;</p>



<p class="wp-block-paragraph">I was also part of the ill-fated &#8220;SQL Server Big Data Clusters&#8221; &#8211; a system ahead of its time that could scale from on-premsises to the cloud, with so many features running in Linux an Kubernetes no less.</p>



<p class="wp-block-paragraph">Companies large and small, around the world, built their business logic, data processing and analysis, reporting, and now even AI into the SQL Server product.</p>



<p class="wp-block-paragraph">But it got a bit, well, overwhelming. Having everything, and I mean everything, in the box can make for complex upgrades, complicated troubleshooting, and make it hard to keep up with what the system can really do.&nbsp;</p>



<p class="wp-block-paragraph">Adding to this, some of the features are more mature and stable than others. Some very much so.&nbsp;</p>



<h2 class="wp-block-heading" id="h-sql-server-just-a-database">SQL Server &#8211; Just a Database</h2>



<p class="wp-block-paragraph">Things, as they always do, have changed. Developers are now using scale-out, cloud-first, micro-services, per-server data processing, which feeds much larger more spread-out systems. Data storage is now separated away from (as in my COBOL days of old) from the processing engines that used it. Vendors &#8211; even Microsoft &#8211; tended to focus on larger distributed sytems.</p>



<p class="wp-block-paragraph">The expensive licenses of SQL Server doesn&#8217;t hold the same value if you&#8217;re just using it as a database.&nbsp;Postgres is &#8220;free&#8221; (not really, but that&#8217;s the mindshare) and if your data is small you can use SQLite (love me some SQLite) and the stunningly amazing DuckDB. DuckDB, for me, holds the same excitement level as the SQL Server version 7 days. The little engine that could.&nbsp;</p>



<h2 class="wp-block-heading" id="h-sql-server-so-wither-forth">SQL Server &#8211; So Wither Forth?</h2>



<p class="wp-block-paragraph"><em>In some clients I work with, they feel they are being left behind if they don&#8217;t move to the newest cloud analytics platforms currently battling for their data budget.</em></p>



<p class="wp-block-paragraph">In some cases, after we do a deep audit of their needs, SQL Server still fills the bill quite well. Yes, it needs to be designed and implemented properly, but if you do, there&#8217;s a lot going for it. Yes, pricing is pretty high, but compared to cloud costs, it can actually be significantly cheaper.</p>



<p class="wp-block-paragraph">So &#8211; will SQL Server be your &#8220;Platform in a Box&#8221; or cast aside for cheaper, smaller, faster &#8220;Just a Database&#8221; products? I&#8217;ll fall back here on the most famous saying in the Database Administrator (DBA) world: &#8220;It Depends&#8221;. Sorry, but there it is. I think for many, many shops, if you take the time to plan, implement and manage it well, SQL Server cannot be beat. It really can&#8217;t.&nbsp;</p>



<p class="wp-block-paragraph">For some workloads, however, distributed storage and compute is a great idea. If you haven&#8217;t investigated  with some of the major systems, I highly recommend you do. Oh, and while you&#8217;re at it, play around with <a href="https://duckdb.org/" type="link" id="https://duckdb.org/" target="_blank" rel="noreferrer noopener">DuckDB</a>. It will amaze you with what it can do, directly over storage like Delta/Parquet. And while you&#8217;re at it, take a look at some of the newer systems that bypass the &#8220;Reporting&#8221; layer entirely. I&#8217;ve seen some lately that are an absolute sea-change. </p>



<p class="wp-block-paragraph"><strong>Everything old is new again. </strong></p>
<p>The post <a href="https://straightpathsql.com/sql-server-database-or-data-platform/">SQL Server: Database or Data Platform?</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server Log File Full at 2 TB Max with CDC: How We Recovered</title>
		<link>https://straightpathsql.com/sql-server-log-file-full-at-2-tb-max-with-cdc-how-we-recovered/</link>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Sat, 16 May 2026 05:12:49 +0000</pubDate>
				<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[CDC]]></category>
		<category><![CDATA[Change Data Capture]]></category>
		<category><![CDATA[log_reuse_wait_desc]]></category>
		<category><![CDATA[RDS]]></category>
		<category><![CDATA[SQL Server Transaction Log]]></category>
		<guid isPermaLink="false">https://straightpthdev.wpenginepowered.com/sql-server-log-file-full-at-2-tb-max-with-cdc-how-we-recovered/</guid>

					<description><![CDATA[<p>Quick summary For several versions of SQL Server, the maximum log file size was noted at 2 TB. If you ever reach that limit you could find yourself in a Disaster Recovery scenario. Context We received an emergency call from a client that noted that their SQL Server instances was unresponsive. (This was an Amazon ... <a title="SQL Server Log File Full at 2 TB Max with CDC: How We Recovered" class="read-more" href="https://straightpathsql.com/sql-server-log-file-full-at-2-tb-max-with-cdc-how-we-recovered/" aria-label="Read more about SQL Server Log File Full at 2 TB Max with CDC: How We Recovered">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-log-file-full-at-2-tb-max-with-cdc-how-we-recovered/">SQL Server Log File Full at 2 TB Max with CDC: How We Recovered</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-quick-summary"><strong>Quick summary</strong></h2>



<p class="wp-block-paragraph">For several versions of SQL Server, the maximum log file size was noted at 2 TB. If you ever reach that limit you could find yourself in a <a href="https://straightpathsql.com/archives/tag/disaster-recovery/" type="post_tag" id="302">Disaster Recovery</a> scenario.</p>



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



<p class="wp-block-paragraph">We received an emergency call from a client that noted that their SQL Server instances was unresponsive. (This was an Amazon RDS instance, although that didn’t play much into the ultimate root cause.) The client had some technical staff already looking at the issue, and when we joined the call we were informed that the transaction log for their main production database was completely full, and all transactional activity in the database had stopped.</p>



<p class="wp-block-paragraph">For many versions, SQL Server has had a default maximum files size of 2 TB on transaction log files. Even though newer versions like SQL Server 2022 and 2025 may say “unlimited”, they aren’t truly unlimited. The current documentation notes that transaction log files still have <a href="https://learn.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server?view=sql-server-ver17">a 2 TB maximum file size</a>.</p>



<h2 class="wp-block-heading" id="h-investigation-why-log-reuse-wait-desc-showed-replication">Investigation: Why log_reuse_wait_desc Showed REPLICATION</h2>



<p class="wp-block-paragraph">After a quick review, we confirmed that the transaction log for their main production database was completely full, and had reached the maximum size of 2 TB. The log reuse description in sys.databases showed “REPLICATION” as the cause for the log being full.</p>



<p class="wp-block-paragraph">This instance did not have replication, but the client did have Change Data Capture (CDC) enabled on numerous tables, which also shows up as “REPLICATION” in the lof reuse information. We discovered the CDC capture and cleanup jobs had not been running for weeks, which caused the transaction log to hold transactions and not mark them for reuse.</p>



<p class="wp-block-paragraph">Unfortunately, before we joined the call, the client had enabled CDC thinking that would “clean up the log”, but what that did in the immediate moment was fill up the log faster as it generated more transactions to update data in the CDC support tables.</p>



<p class="wp-block-paragraph">So now the file was already at the 2 TB limit, meaning it couldn’t be grown further. But here’s the biggest problem: any other solution to reduce the log file size at this point would not work because…it would involve a logged transaction. And the log was full.</p>



<p class="wp-block-paragraph">Possible solutions include:</p>



<ul class="wp-block-list">
<li>Disable CDC &#8211; that’s a logged transaction</li>



<li>Add another log file – that’s also a logged transaction</li>



<li>Declare it a disaster and restore the entire database from the most recent backups</li>
</ul>



<h2 class="wp-block-heading" id="h-the-fix-kill-another-transaction-and-add-another-log-file"><strong>The fix – kill another transaction and add another log file</strong></h2>



<p class="wp-block-paragraph">We wanted to avoid restoring the database from backup, as that could mean further hours of downtime as well as more lost transactions. We determined the best possible solution was to try to Kill one of the smaller queries using the transaction log, and then quickly add another log file. It took several tries, but eventually we were able to kill one and add a second transaction log file, which allowed other transactions to start completing again.</p>



<p class="wp-block-paragraph">Something like this:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">BEGIN TRANSACTION;

/* Kill session 99 to release any locks/log space it may be holding */

 KILL 99;

/* Add a second log file to DatabaseName on a different drive */

ALTER DATABASE [DatabaseName]

ADD LOG FILE (

NAME = N'DatabaseName_log2'

, FILENAME = N'L: LogsDatabaseName_log2.ldf'

, SIZE = 64MB

, MAXSIZE = 2TB

, FILEGROWTH = 64MB);

 COMMIT TRANSACTION;</pre>



<p class="wp-block-paragraph">After we had the second log file we were able to monitor the progress for CDC and the drive space used by all the transactions recorded. This took a few hours but eventually caught up, and afterwards we emptied and removed the extra transaction log file and resized the original log file to reduce the massive amount of Virtual Log Files (VLFs). We also added a job to alert us in case the transaction log became more than 50% full to avoid another occurrence of this issue.</p>



<p class="wp-block-paragraph">We were very fortunate, because had we not found a tiny windows to add another log file we would have had no choice but restore from backups. While you&#8217;re reading this, make sure your backups are actually ready for restores &#8211; check out our free tool, <a href="https://straightpathsql.com/archives/2024/08/introducing-sp_checkbackup-check-your-sql-server-backups-for-recoverability-issues/" type="post" id="29505">sp_CheckBackup</a> to make sure.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p>The post <a href="https://straightpathsql.com/sql-server-log-file-full-at-2-tb-max-with-cdc-how-we-recovered/">SQL Server Log File Full at 2 TB Max with CDC: How We Recovered</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Updates for all sp_Check tools – April 2026</title>
		<link>https://straightpathsql.com/updates-for-all-sp_check-tools-april-2026/</link>
		
		<dc:creator><![CDATA[Jeff Iannucci]]></dc:creator>
		<pubDate>Fri, 01 May 2026 03:06:23 +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://straightpthdev.wpenginepowered.com/updates-for-all-sp_check-tools-april-2026/</guid>

					<description><![CDATA[<p>It&#8217;s time again for our monthly updates of our FREE sp_Check stored procedures, so here are the April updates. This month we have way more updates than in March, including recommendations from the Issues section of GitHub, so thank you to all who contributed! We also have been working on the content pages referenced by ... <a title="Updates for all sp_Check tools – April 2026" class="read-more" href="https://straightpathsql.com/updates-for-all-sp_check-tools-april-2026/" aria-label="Read more about Updates for all sp_Check tools – April 2026">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/updates-for-all-sp_check-tools-april-2026/">Updates for all sp_Check tools – April 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">It&#8217;s time again for our monthly updates of our FREE sp_Check stored procedures, so here are the April updates.</p>



<p class="wp-block-paragraph">This month we have way more updates than in March, including recommendations from the Issues section of GitHub, so thank you to all who contributed!</p>



<p class="wp-block-paragraph">We also have been working on the content pages referenced by the URLs in the stored procedures. We&#8217;ve been going through them all to make sure the content was more helpful. Lots of the previous content pages have had simple sentences that weren&#8217;t very descriptive, so we&#8217;ve been filling those out to provide more explanations.</p>



<p class="wp-block-paragraph">This month the updates are mostly corrections, although there were additional checks added to  <strong>sp_CheckBackup</strong> and <strong>sp_CheckTempdb</strong>. </p>



<p class="wp-block-paragraph">We hope these new updates can help you, especially if you’ve never used these stored procedures. Here are the updates for April 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>CORRECT omission of DTC Support check for SQL Server 2016</li>



<li>CORRECT CPU configuration details (CheckID 113)</li>



<li>CORRECT IP Address details for case sensitivity (CheckID 119)</li>



<li>CORRECT check for recent events to account for AlwaysOn_health XE being stopped (CheckID 426)</li>



<li>CORRECT incorrect logic for determining Seeding Mode</li>



<li>ADD check for AlwaysOn_health XE being stopped  (CheckID 429)</li>



<li>UPDATE check for Endpoint Owner to use SID in case sa login renamed (CheckID 406)</li>



<li>UPDATE check for AG Owner to use SID in case sa login renamed (CheckID 407)</li>



<li>UPDATE check for replica database not joined for clarity (CheckID 413)</li>



<li>UPDATE check for session timeout to 2 checks &#8211; one at default, one below (CheckID 415)</li>



<li>UPDATE check for offline listener to include IP and state (CheckID 417)</li>



<li>UPDATE check for replicas not failover ready to include Server Instance (CheckID 421)</li>



<li>ADD EndpointOwnerSID to Endpoints result set</li>



<li>ADD AGOwnerSID to Availability Group result set</li>



<li>CORRECT typos in CheckID 410, 415</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 EncryptionType column to @Mode = 2</li>



<li>ADD CompressedBackupSizeInMB and CompressionPercent column to @Mode = 2</li>



<li>ADD check for integrity checks (CheckID 503)</li>



<li>ADD check for backup history not purged (CheckID 216)</li>



<li>ADD check for high VLFs (> 200) (CheckID 217)</li>



<li>ADD check for backups to NUL (CheckID 218)</li>



<li>CORRECTED Check for password protected backups (CheckID 215)</li>



<li>Corrected typo in CHECKID 211</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>CHANGE check for most recent version for SQL Server security updates</li>



<li>CHANGE Issue, Details, and ActionStep data type in #Results to VARCHAR(MAX)</li>



<li>CHANGE Failed Login check to suppress error message (CheckID 330)</li>



<li>CHANGE Number of Error Logs check to suppress error message (CheckID 801)</li>



<li>CHANGE Hide Instance check to suppress error message (CheckID 348)</li>



<li>CHANGE Extended Protection check to suppress error message (CheckID 348)</li>



<li>CHANGE Force Encryption check to suppress error message (CheckID 349)</li>



<li>CORRECTED logic for creating #InvalidLogins table</li>



<li>CORRECTED incorrect ActionStep for Contained Databases (CheckID 344)</li>



<li>CORRECTED typos in ChecIDs 304, 305, 307, 310, 313, 314, 316, 321, 323, 324, 327, 330, 351, 622</li>



<li>CHANGE CheckID 801 (error log retention is at default) to CheckID 622</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 description of @Mode = 99 to @Help</li>



<li>CORRECT usage of @Size in @Help</li>



<li>CORRECT checks for Slow reads and Writes (CheckIDs 718 and 719)</li>



<li>CORRECT redundant check for tempdb file with no growth allowed (CheckID 605)</li>



<li>CORRECT redundant check for tempdb file with percentage growth (CheckID 711)</li>



<li>CORRECT redundant check for tempdb file with growth &lt; 64 MB (CheckID 712)</li>



<li>CORRECT redundant check for tempdb file with high usage (CheckID 714)</li>



<li>CORRECT logic for finding more than 8 cores (CheckID 707)</li>



<li>REMOVED redundant code for @UsagePercent</li>



<li>ADD code to avoid negative values for minimum @AvgReadStallMs and @AvgWriteStallMs</li>



<li>ADD drop of #TraceFlg before it is created</li>



<li>ADD check for more than 16 data files (CheckID 730)</li>
</ul>
<p>The post <a href="https://straightpathsql.com/updates-for-all-sp_check-tools-april-2026/">Updates for all sp_Check tools – April 2026</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server Case of the Week: A Broken Backup Chain Blocks Migration to Azure SQL Managed Instance</title>
		<link>https://straightpathsql.com/sql-server-case-of-the-week-a-broken-backup-chain-blocks-migration-to-azure-sql-managed-instance/</link>
					<comments>https://straightpathsql.com/sql-server-case-of-the-week-a-broken-backup-chain-blocks-migration-to-azure-sql-managed-instance/#respond</comments>
		
		<dc:creator><![CDATA[Warren Departee]]></dc:creator>
		<pubDate>Fri, 10 Apr 2026 16:07:27 +0000</pubDate>
				<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Azure SQL Managed Instance]]></category>
		<category><![CDATA[backup chain]]></category>
		<category><![CDATA[blob storage]]></category>
		<category><![CDATA[LSN]]></category>
		<category><![CDATA[sp_CheckBackup]]></category>
		<category><![CDATA[transaction log]]></category>
		<guid isPermaLink="false">https://straightpthdev.wpenginepowered.com/sql-server-case-of-the-week-a-broken-backup-chain-blocks-migration-to-azure-sql-managed-instance/</guid>

					<description><![CDATA[<p>A client was preparing to move databases from on-prem to Azure SQL Managed Instance. The backup and restore process was going smoothly, full backup restored, differential restored, first log backup restored, everything lining up. Then the next transaction log restore failed due to a mismatched LSN error. The backup chain was broken. The migration was ... <a title="SQL Server Case of the Week: A Broken Backup Chain Blocks Migration to Azure SQL Managed Instance" class="read-more" href="https://straightpathsql.com/sql-server-case-of-the-week-a-broken-backup-chain-blocks-migration-to-azure-sql-managed-instance/" aria-label="Read more about SQL Server Case of the Week: A Broken Backup Chain Blocks Migration to Azure SQL Managed Instance">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/sql-server-case-of-the-week-a-broken-backup-chain-blocks-migration-to-azure-sql-managed-instance/">SQL Server Case of the Week: A Broken Backup Chain Blocks Migration to Azure SQL Managed Instance</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>A client was preparing to move databases from on-prem to Azure SQL Managed Instance. The backup and restore process was going smoothly, full backup restored, differential restored, first log backup restored, everything lining up. Then the next transaction log restore failed due to a mismatched LSN error. The backup chain was broken. The migration was stalled.</em></p>



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



<p class="wp-block-paragraph"><strong>The error message from Azure Managed Instance told the story right away:</strong>  “<em>The restore plan is broken because firstLsn (12345000000456700001) of log backup XXXXX is not equal to the lastLsn (12345000000123400001) restore point in time failed</em>.&#8221; If you&#8217;ve worked with SQL Server backups, you know what the LSN (Log Sequence Number) is. It&#8217;s how SQL Server knows where the last backup left off and where to start the next one, so every transaction is captured. When those numbers don&#8217;t line up, SQL Server won&#8217;t let you restore, and for good reason.</p>



<p class="wp-block-paragraph">My client had a process in place since they were running the migration, and we were there to catch them if needed. They were going to stop backups with their third-party backup tool, then use native SQL Server backups pointed to Azure Blob Storage to build their restore chain into Managed Instance. The plan made sense.</p>



<p class="wp-block-paragraph">I quickly grabbed our trusty community tool <a href="https://straightpathsql.com/tool/sp_checkbackup/">sp_CheckBackup</a> and ran this on the source:</p>



<pre class="wp-block-code"><code><code>SP_CheckBackup @Mode = 3, @DatabaseName = 'TheDBTHatIsErroringEvenWithTHeirPlan'</code></code></pre>



<p class="wp-block-paragraph">Mode 3 checks for <strong>split backup chains</strong>, backups going to different locations, anything that could complicate recovery. Even though they had that plan. this sure felt like a split backup chain&#8230; My gut was right. Some log backups were taken outside of the Blob Storage backup plan, after the initial full, differential, and logs. &#8220;Rogue Backups,&#8221; we call them at Straight Path (though sometimes it gets typoed to rouge backups &#8211; so we&#8217;ve started calling them by either name.)</p>



<p class="wp-block-paragraph"><strong>Here&#8217;s what the timeline looked like:</strong></p>



<ul class="wp-block-list">
<li>12:00 PM &#8211; Full backup to Blob Storage (restored successfully)</li>



<li>6:00 PM &#8211; Differential backup to Blob Storage (restored successfully)</li>



<li>6:10 PM &#8211; Transaction log backup to Blob Storage (restored successfully)</li>



<li><strong>6:20 PM &#8211; Rogue transaction log backup taken by the third-party backup tool</strong> (not in Blob Storage)</li>



<li>7:10 PM &#8211; Next scheduled log backup to Blob Storage (FAILED to restore, LSN mismatch)</li>
</ul>



<p class="wp-block-paragraph">That rogue backup at 6:20 PM was the problem. Even though the client had removed the database from their third-party backup policy, the backups didn&#8217;t actually stop running. That third-party log backup broke the chain that had been established in Blob Storage because it advanced the LSN past what our next Blob-based log backup expected. </p>



<h2 class="wp-block-heading" id="h-the-fix">The Fix</h2>



<p class="wp-block-paragraph">Stop the third-party backup solution entirely before initiating backups to Blob Storage. Don&#8217;t just remove the database from the policy. Actually confirm the backups have stopped. Run our free community tool, sp_CheckBackup to verify no rogue backups are sneaking in before you start your restore chain.</p>



<h2 class="wp-block-heading" id="h-the-lesson">The Lesson</h2>



<p class="wp-block-paragraph">In this case, my client took a fresh full and differential during the migration activity and was eventually successful, but it was painful. And this was for a 1-2GB database. Imagine this with your 2TB or even 24TB database at GO LIVE. <em>Quivers in chair.</em></p>



<p class="wp-block-paragraph">Here&#8217;s what you should be doing if you&#8217;re planning a migration to Managed Instance (or any backup/restore migration):</p>



<ol class="wp-block-list">
<li><strong>Confirm all third-party backup tools are fully stopped</strong>, not just &#8220;removed from the policy.&#8221; Verify they are no longer touching the database. Run <a href="https://straightpathsql.com/tool/sp_checkbackup/">sp_CheckBackup</a> to confirm.</li>



<li><strong>Validate your backup chain before you start restoring.</strong> Use sp_CheckBackup @Mode = 3 to check for split chains and unexpected backup sources. If someone or something else took a backup you weren&#8217;t expecting, you want to know before you&#8217;re mid-migration, not after.</li>



<li><strong>Bring your DBA team into migration planning early.</strong> With a little coordination on a planning call, gotchas like broken backup chains can be spotted before the big day. This one could have been solved immediately if we&#8217;d been on the call when it happened. And during cutover planning, we could have flagged the risk before it became a problem with a bit more involvement from the start.</li>
</ol>



<p class="wp-block-paragraph">Rogue backups are one of the most common issues we see across new client environments. Multiple tools taking backups of the same database, often without anyone realizing the other exists. Mike Walsh wrote about this exact pattern in <a href="https://straightpathsql.com/archives/2025/10/sql-server-backups-and-the-illusion-of-safety-confusion/">SQL Server Backups and the Illusion of Safety</a>, where he points out that when <em>everyone </em>is responsible for backups, sometimes <em>no one</em> is actually accountable for recoverability.</p>



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



<p class="wp-block-paragraph">Backup chain integrity is one of the first things we train any new DBA on at Straight Path. <a href="https://straightpathsql.com/tool/sp_checkbackup/">sp_CheckBackup</a> is one of our free community tools, largely built by Jeff Iannucci and David Seis. I&#8217;m confident that anyone on our team would have done the same troubleshooting here. Backups and recoverability are DBA skills 101, and the majority of our clients perform routine restore testing and integrity checks to make sure data is safe and ready for when it matters most.</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>The post <a href="https://straightpathsql.com/sql-server-case-of-the-week-a-broken-backup-chain-blocks-migration-to-azure-sql-managed-instance/">SQL Server Case of the Week: A Broken Backup Chain Blocks Migration to Azure SQL Managed 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-a-broken-backup-chain-blocks-migration-to-azure-sql-managed-instance/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>From &#8220;Keep it Running&#8221; to &#8220;Make it Valuable&#8221;: Why Your SQL Skills Aren’t Enough Anymore</title>
		<link>https://straightpathsql.com/from-keep-it-running-to-make-it-valuable-why-your-sql-skills-arent-enough-anymore/</link>
		
		<dc:creator><![CDATA[Buck Woody]]></dc:creator>
		<pubDate>Fri, 10 Apr 2026 15:03:00 +0000</pubDate>
				<category><![CDATA[Data Strategy & Leadership]]></category>
		<category><![CDATA[CDO as a Service]]></category>
		<category><![CDATA[Chief Data Officer]]></category>
		<category><![CDATA[Data advocacy]]></category>
		<category><![CDATA[data monetization]]></category>
		<guid isPermaLink="false">https://straightpthdev.wpenginepowered.com/?p=4160</guid>

					<description><![CDATA[<p>You’ve spent a long time learning about tuning indexes, fighting deadlocks, and keeping the green lights on the physical systems and cloud deployments. You’ve got scripts that could shame half the Stack Overflow answers GPT hasn&#8217;t scraped. You know the difference between CXPACKET and CXCONSUMER without Googling. But here’s the kicker: your CIO doesn’t care ... <a title="From &#8220;Keep it Running&#8221; to &#8220;Make it Valuable&#8221;: Why Your SQL Skills Aren’t Enough Anymore" class="read-more" href="https://straightpathsql.com/from-keep-it-running-to-make-it-valuable-why-your-sql-skills-arent-enough-anymore/" aria-label="Read more about From &#8220;Keep it Running&#8221; to &#8220;Make it Valuable&#8221;: Why Your SQL Skills Aren’t Enough Anymore">Read more</a></p>
<p>The post <a href="https://straightpathsql.com/from-keep-it-running-to-make-it-valuable-why-your-sql-skills-arent-enough-anymore/">From &#8220;Keep it Running&#8221; to &#8220;Make it Valuable&#8221;: Why Your SQL Skills Aren’t Enough Anymore</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">You’ve spent a long time learning about tuning indexes, fighting deadlocks, and keeping the green lights on the physical systems and cloud deployments. You’ve got scripts that could shame half the Stack Overflow answers GPT hasn&#8217;t scraped. You know the difference between CXPACKET and CXCONSUMER without Googling.</p>



<p class="wp-block-paragraph">But here’s the kicker: <strong>your CIO doesn’t care about page life expectancy.</strong> They care about <em><a href="https://straightpathsql.com/archives/tag/data-monetization/" type="post_tag" id="2460">data monetization</a></em>.</p>



<h2 class="wp-block-heading" id="h-the-problem-sql-server-isn-t-the-whole-playground-anymore"><strong>The Problem: SQL Server Isn’t the Whole Playground Anymore</strong></h2>



<p class="wp-block-paragraph">Once upon a time, uptime was the crown jewel. If the server was online, you were the hero. But now? Data is flowing into cloud warehouses like Snowflake and Databricks &#8211; maybe even Microsoft Fabric. Meanwhile, Marketing spins up SaaS apps faster than you can say “linked server.” And they&#8217;ve hired or subbed-out an entire analytics team that&#8217;s building Spark or Data Warehouse with Dashboards or Jupyter Notebooks that bypass you entirely.</p>



<p class="wp-block-paragraph">And when those silos don’t talk to each other and the data doesn&#8217;t work for what they are doing? Guess who gets blamed. Yep, the DBA. You. Suddenly, you’re not the guardian of uptime; you’re the bottleneck on the road to AI progress or whatever Next Big Thing™ has your CEO&#8217;s ear.</p>



<h2 class="wp-block-heading" id="h-the-pivot-stop-being-the-mechanic-start-being-the-architect"><strong>The Pivot: Stop Being the Mechanic, Start Being the Architect</strong></h2>



<p class="wp-block-paragraph">So what do you do? Sure, you can hunker down and work even harder on T-SQL and internals, but will that help? Think of it this way: <strong>Mechanics</strong> keep the engine running. <strong>Architects</strong> design solutions so that the engine powers the business.</p>



<p class="wp-block-paragraph">In larger companies, the <a href="https://straightpathsql.com/archives/tag/chief-data-officer/" type="post_tag" id="2324">Chief Data Officer</a> (CDO) role exists for one reason: <strong>to turn data into business value.</strong> But you don’t need a fancy title to start acting like one. What you <em>do</em> need is a strategy. That strategy is up-leveling your talents, and maybe bringing in some help.</p>



<h2 class="wp-block-heading" id="h-but-code-though-because-you-re-still-a-dba-at-heart"><strong>But Code Though (Because You’re Still a DBA at Heart)</strong></h2>



<p class="wp-block-paragraph">Let’s be honest: you’re not going to stop focusing on the servers and keeping everything up and running. But let&#8217;s take a look at a couple of queries to illustrate the mindshift you need. The first one is typical of a report from a monitoring tool. It says, “Hey boss, the server’s been up for 47 days.” You&#8217;ve shown your value &#8211; your systems are up and running when needed.  Except….</p>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- Old world: prove uptime
SELECT sqlserver_start_time
FROM sys.dm_os_sys_info;</pre>



<p class="wp-block-paragraph">That doesn&#8217;t mean anything to your Leadership. I&#8217;ve always said, unless you&#8217;re in a small company, people two levels above you have no idea what you do. So, how do you map the things you do to the things Leadership cares about?</p>



<p class="wp-block-paragraph">Well, while the monitoring Dashboards you use are probably pretty useful, they don&#8217;t tell the boss why they should care about your work. A better approach is to map the result of your work to something that drives revenue for the company. I know that sounds marketing-y. Don&#8217;t make that face. This is what they care about.</p>



<p class="wp-block-paragraph">How about this instead:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">SELECT 
    s.sqlserver_start_time,
    COUNT(*) AS ‘CustomerPurchasesLast3Months’
FROM sys.dm_os_sys_info s
CROSS JOIN dbo.Customers c
JOIN dbo.Orders o ON c.CustomerID = o.CustomerID
WHERE o.OrderDate >= DATEADD(month, -3, GETDATE());

---------
sqlserver_start_time	CustomerPurchasesLast3Months
2025-09-01 08:15:00	12,345
</pre>



<p class="wp-block-paragraph">This says, “Hey boss, here’s how many customers bought something in the last quarter on that server that I keep running for you.” Guess which one gets you invited to the strategy meeting with the Spark-ly people.</p>



<h2 class="wp-block-heading" id="h-be-the-data-advocate"><strong>Be the Data Advocate</strong></h2>



<p class="wp-block-paragraph">Being a “<a href="https://straightpathsql.com/archives/category/data-advocacy/" type="category" id="2325">Data Advocate</a>” is the new job security. The DBA who only cares about uptime is replaceable. The DBA who champions data as a business asset? That’s the one who probably sticks around, maybe even gets a promo from time to time. So the next time you’re tempted to brag about your deadlock troubleshooting skills, pause. Ask yourself: <em>How is this data making the company money?</em></p>



<p class="wp-block-paragraph">&nbsp;That’s the straight path to data leadership.</p>



<h2 class="wp-block-heading" id="h-we-can-help-cdo-as-a-service"><strong>We can help: CDO-as-a-Service</strong></h2>



<p class="wp-block-paragraph">This is where we come in. Think of us as your “<a href="https://straightpathsql.com/archives/tag/cdo-as-a-service/" type="post_tag" id="2331">CDO-as-a-Service</a>.”</p>



<ul class="wp-block-list">
<li>We handle the governance, the strategy, and the executive conversations.</li>



<li>You stay focused on implementation, without getting bogged down in corporate politics.</li>



<li>Together, we bridge the gap between “keeping it running” and “making it valuable.”</li>
</ul>



<p class="wp-block-paragraph">&nbsp;It’s not about replacing your role. It’s about <strong>elevating it.</strong></p>
<p>The post <a href="https://straightpathsql.com/from-keep-it-running-to-make-it-valuable-why-your-sql-skills-arent-enough-anymore/">From &#8220;Keep it Running&#8221; to &#8220;Make it Valuable&#8221;: Why Your SQL Skills Aren’t Enough Anymore</a> appeared first on <a href="https://straightpathsql.com">SQL Server Consulting - Straight Path Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
