<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>SQLSurfer</title>
		<link>http://localhost:1313/</link>
		<description>Recent content on SQLSurfer</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Thu, 10 Sep 2026 20:44:10 -0500</lastBuildDate>
		
			<atom:link href="http://localhost:1313/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Welcome</title>
				<link>http://localhost:1313/posts/welcome/</link>
				<pubDate>Sun, 09 Aug 2026 14:55:42 -0500</pubDate>
				<guid>http://localhost:1313/posts/welcome/</guid>
				<description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Welcome to the SQLSurfer blog. I specialize in performance tuning, among other things, so you&amp;rsquo;ll see that focus in my posts. I still post in other places, but this gives me a chance to quickly put some thoughts down, quick posts that don&amp;rsquo;t fit into the framework of the larger sites. I&amp;rsquo;m also going to use this for some opinion posts, ramblings to be more precise. I hope you enjoy it. Let me know if there is something you&amp;rsquo;d like to see that I haven&amp;rsquo;t covered.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Regexp_Matches Use Case</title>
				<link>http://localhost:1313/posts/regexp_matches-use-case/</link>
				<pubDate>Thu, 10 Sep 2026 20:44:10 -0500</pubDate>
				<guid>http://localhost:1313/posts/regexp_matches-use-case/</guid>
				<description>&lt;p&gt;I was preparing a post about finding implicit data type conversions in SQL Server queries, when I had to work through a few technical issues. That post will come later, but this created an interesting diversion based on the query used to solve those problems. I&amp;rsquo;ve written about regular expressions (regex) in SQL Server before, and that was on my mind as I analyzed extracting implicit data type conversions from query plans.&lt;/p&gt;</description>
			</item>
			<item>
				<title>SQL Server Blocks vs Deadlocks</title>
				<link>http://localhost:1313/posts/sql-server-blocks-vs-deadlocks/</link>
				<pubDate>Thu, 27 Aug 2026 20:21:31 -0500</pubDate>
				<guid>http://localhost:1313/posts/sql-server-blocks-vs-deadlocks/</guid>
				<description>&lt;p&gt;Deadlocks and excessive blocking is the bane of many development teams and DBAs. They are often at the root of performance problems. Understanding each of these problems and how to solve the root cause can be difficult. I find that the terms are used interchangeably and  frequently mixed. Understanding the difference, and diagnosing the issue is crucial to resolving these problems. Both happen due to incompatible locks being held or requested on tables, but they differ in their root cause. Some troubleshooting methods work for both problems, but deadlocks generally require logic changes to fix permanently and consistently.&lt;br&gt;&#xA;This post is aimed at giving a general background on blocking and deadlocks. It also shows some basic methods to find these problems and general ways to fix them. I&amp;rsquo;m not going into extreme detail. This is just an introduction.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Using SQL Agent Jobs to Troubleshoot SQL Managed Instances</title>
				<link>http://localhost:1313/posts/using-scripts-to-troubleshoot-managed-instances/</link>
				<pubDate>Tue, 18 Aug 2026 16:29:32 -0500</pubDate>
				<guid>http://localhost:1313/posts/using-scripts-to-troubleshoot-managed-instances/</guid>
				<description>&lt;h2 id=&#34;sql-server-managed-instance-diagnostics&#34;&gt;SQL Server Managed Instance Diagnostics&lt;/h2&gt;&#xA;&lt;p&gt;The great thing about SQL Server Managed Instance (SQL MI) is that you don&amp;rsquo;t need to perform any maintenance or troubleshooting on the OS or SQL installation. In theory. If you&amp;rsquo;ve used SQL MI, you might find that this isn&amp;rsquo;t always the case. If you have issues, you&amp;rsquo;ll find that you have limited troubleshooting options on the server and your options for running scripts are constrained. Microsoft support doesn&amp;rsquo;t have unfettered access either. They have hard boundaries on what can be accessed on your servers and they need to escalate quite extensively to other internal teams when examining certain problems.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Azure SQL Database - Index And Statistic Management</title>
				<link>http://localhost:1313/posts/azure-sql-database-index-and-statistic-management/</link>
				<pubDate>Mon, 10 Aug 2026 18:00:20 -0500</pubDate>
				<guid>http://localhost:1313/posts/azure-sql-database-index-and-statistic-management/</guid>
				<description>&lt;h2 id=&#34;dba-tasks-in-azure-db&#34;&gt;DBA Tasks in Azure DB&lt;/h2&gt;&#xA;&lt;p&gt;It was a big surprise to me when I learned that Azure SQL Database doesn&amp;rsquo;t update statistics or indexes automatically. The option to automatically update statistics exists (e.g., ALTER DATABASE [WideWorldImporters] SET AUTO_UPDATE_STATISTICS ON), and is on by default, but it does not give the same control as updating them manually with the &amp;lsquo;UPDATE STATISTICS&amp;rsquo; command. When Azure DB was first pitched to us, on an internal project, one of the big selling points was &amp;ldquo;no maintenance required&amp;rdquo;. This wasn&amp;rsquo;t a statement from Microsoft or even from the documentation. It was clearly a marketing talking-point that leaked into the technical discussions. It&amp;rsquo;s partially true. Some things are automatic, but there are a few things you still need to maintain or at least monitor yourself. The big shocker, as you already know from the first sentence above, is that indexes aren&amp;rsquo;t automatically rebuilt for you and statistics aren&amp;rsquo;t maintained beyond the database configuration item.&lt;/p&gt;</description>
			</item>
			<item>
				<title>About</title>
				<link>http://localhost:1313/page/about/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/page/about/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve been working with SQL Server since version 6.5. I specialize in performance tuning, security, warehouse implementations, Azure migrations and configuration of all flavors of SQL Server.&lt;/p&gt;&#xA;&lt;p&gt;This is my personal blog. I research and test everything myself. I never use, and will never use, AI to create these posts. What you see is what you get. Please reach out if you have questions or if you have a project you need help on.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Training and Code</title>
				<link>http://localhost:1313/page/training/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://localhost:1313/page/training/</guid>
				<description>&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;Event&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;Presentation&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;Repo&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;PASS 2026 East, Chicago&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&#xD;&#xA;&lt;a href=&#34;http://localhost:1313/training/Ben-Johnston-PASS-2026-East-Chicago-SQL-Server-Security-From-Top-To-Bottom.pdf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ben-Johnston-PASS-2026-SQL-Server-Security-From-Top-To-Bottom.pdf&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&#xD;&#xA;&lt;a href=&#34;https://github.com/BenSQL/SQLSecurity&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SQLSecurity Github&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;PASS 2025, Seattle&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&#xD;&#xA;&lt;a href=&#34;http://localhost:1313/training/Ben-Johnston-PASS-2025-SQL-Performance-Tips-For-Development-Teams.pdf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ben-Johnston-PASS-2025-Performance-Tips-for-Development-Teams.pdf&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&#xD;&#xA;&lt;a href=&#34;https://github.com/BenSQL/SQLPerformance&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SQL Performance Github&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;SQL Saturday, Minneapolis&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&#xD;&#xA;&lt;a href=&#34;http://localhost:1313/training/Ben-Johnston-SQL-Saturday-2025-1124-Minneapolis-Unmasking-SQL-Server.pdf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ben-Johnston-SQL-Saturday-Minneapolis-2024-Side-Channel-Attacks.pdf&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&#xD;&#xA;&lt;a href=&#34;https://github.com/BenSQL/SQLSideChannel&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SQL Server Side Channel Github&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;PASS Road Show 2025, Dallas&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&#xD;&#xA;&lt;a href=&#34;http://localhost:1313/training/Ben-Johnston-PASS-2025-Road-Show-Dallas-Unmasking-SQL-Server.pdf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ben-Johnston-PASS-Road-Show-Dallas-2024-Side-Channel-Attacks.pdf&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&#xD;&#xA;&lt;a href=&#34;https://github.com/BenSQL/SQLSideChannel&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SQL Server Side Channel Github&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;PASS 2024, Seattle&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&#xD;&#xA;&lt;a href=&#34;http://localhost:1313/training/Ben-Johnston-PASS-2024-Side-Channel-Attacks.pdf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ben-Johnston-PASS-2024-Side-Channel-Attacks.pdf&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&#xD;&#xA;&lt;a href=&#34;https://github.com/BenSQL/SQLSideChannel&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SQL Server Side Channel Github&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
			</item>
	</channel>
</rss>
