<?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>Brent Ozar Unlimited®</title>
	<atom:link href="https://www.brentozar.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.brentozar.com/</link>
	<description>SQL Server training, tools, and free downloads.</description>
	<lastBuildDate>Sat, 06 Jun 2026 20:32:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://i0.wp.com/www.brentozar.com/wp-content/uploads/2015/08/cropped-Brent_Ozar_Unlimited.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Brent Ozar Unlimited®</title>
	<link>https://www.brentozar.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">111456981</site>	<item>
		<title>And Then There Was The Time RCSI Actually Made Query Results More Accurate.</title>
		<link>https://www.brentozar.com/archive/2026/06/and-then-there-was-the-time-rcsi-actually-made-query-results-more-accurate/</link>
					<comments>https://www.brentozar.com/archive/2026/06/and-then-there-was-the-time-rcsi-actually-made-query-results-more-accurate/#comments</comments>
		
		<dc:creator><![CDATA[Brent Ozar]]></dc:creator>
		<pubDate>Wed, 10 Jun 2026 13:15:12 +0000</pubDate>
				<category><![CDATA[Locking, Blocking, and Isolation Levels]]></category>
		<guid isPermaLink="false">https://www.brentozar.com/?p=358444</guid>

					<description><![CDATA[Normally when I tell people about SQL Server&#8217;s optimistic concurrency isolation levels, Read Committed Snapshot Isolation (RCSI) and Snapshot Isolation (SI), I have to give them a little speech about how they need to test their queries because the results can change. Recently, though, I was working with a client who was getting the wrong query...]]></description>
										<content:encoded><![CDATA[<p>Normally when I tell people about SQL Server&#8217;s optimistic concurrency isolation levels, <a href="https://www.brentozar.com/archive/2013/01/implementing-snapshot-or-read-committed-snapshot-isolation-in-sql-server-a-guide/">Read Committed Snapshot Isolation (RCSI) and Snapshot Isolation (SI)</a>, I have to give them a little speech about how they need to test their queries because the results can change.</p>
<p>Recently, though, I was working with a client who was getting the <em>wrong</em> query results under the <em>default</em> pessimistic isolation level &#8211; and we switched to RCSI in order to fix it! I&#8217;m not going to explain RCSI or SI here &#8211; use the link above for a tutorial on the basics &#8211; but rather I&#8217;m going to focus on a demo script I wrote up to show the issue they were having, and how RCSI fixed it.</p>
<p>Let&#8217;s say we need to track driver rankings in a race to know who&#8217;s in first, who&#8217;s in second, and so forth. We&#8217;ve built a leaderboard table with a row for each driver, showing their position. I&#8217;m going to use</p>
<pre class="urvanov-syntax-highlighter-plain-tag">DROP DATABASE IF EXISTS [IsolationLevelDemo];
GO
CREATE DATABASE [IsolationLevelDemo]
GO
ALTER DATABASE [IsolationLevelDemo] SET READ_COMMITTED_SNAPSHOT OFF WITH NO_WAIT
GO
USE [IsolationLevelDemo];
GO


DROP TABLE IF EXISTS dbo.F1Standings;
GO
CREATE TABLE dbo.F1Standings
(
    Id INT IDENTITY(1,1) PRIMARY KEY CLUSTERED,
    DriverName varchar(50) NOT NULL,
    Position int NOT NULL
);

INSERT dbo.F1Standings (DriverName, Position)
VALUES
('Kimi Antonelli', 1),
('George Russell', 2),
('Charles Leclerc', 3),
('Lewis Hamilton', 4);
GO</pre>
<p>To check driver standings for our leaderboard, we run this query:</p>
<pre class="urvanov-syntax-highlighter-plain-tag">SELECT DriverName, Position
FROM [IsolationLevelDemo].dbo.F1Standings
ORDER BY Position;</pre>
<p>And the results make sense:</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="alignnone size-us_600_0 wp-image-358445" src="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/results-with-no-activity.jpg?resize=600%2C270&#038;ssl=1" alt="Results when nothing is happening" width="600" height="270" srcset="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/results-with-no-activity.jpg?resize=600%2C270&amp;ssl=1 600w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/results-with-no-activity.jpg?resize=250%2C113&amp;ssl=1 250w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/results-with-no-activity.jpg?resize=768%2C346&amp;ssl=1 768w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/results-with-no-activity.jpg?w=1200&amp;ssl=1 1200w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>Whenever one driver passes another, we need to make two changes: we need to move the faster driver UP one position, and the slower driver DOWN one position. We don&#8217;t have a concept of ties in our race. So our update transaction looks like this:</p>
<pre class="urvanov-syntax-highlighter-plain-tag">BEGIN TRAN;

UPDATE dbo.F1Standings
SET Position = 3
WHERE DriverName = 'Lewis Hamilton';

UPDATE dbo.F1Standings
SET Position = 4
WHERE DriverName = 'Charles Leclerc';

COMMIT;</pre>
<p>(Yes, you could do this with plus-one-minus-one, and with parameter-driven driver names, but I&#8217;m keeping this simple.)</p>
<p>Our users report that sometimes during a race, they see something they shouldn&#8217;t: a tie.</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="alignnone size-us_600_0 wp-image-358447" src="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/inaccurate-results.jpg?resize=600%2C266&#038;ssl=1" alt="There aren't supposed to be ties here" width="600" height="266" srcset="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/inaccurate-results.jpg?resize=600%2C266&amp;ssl=1 600w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/inaccurate-results.jpg?resize=250%2C111&amp;ssl=1 250w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/inaccurate-results.jpg?resize=768%2C340&amp;ssl=1 768w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/inaccurate-results.jpg?w=1200&amp;ssl=1 1200w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>The business users say, &#8220;Wait a second: we&#8217;re doing everything in a transaction. It&#8217;s all gotta roll forward together, or roll backwards together, right? We&#8217;re not using NOLOCK, so how are we seeing inaccurate results?!?&#8221;</p>
<p>To see the problem:</p>
<ol>
<li>Start the transaction and run the first update statement, setting Lewis to 3rd place.</li>
<li>In ANOTHER window/session, run the leaderboard select. It will appear to be blocked.</li>
<li>Go back to the transaction window/session and run the second update statement and the commit, setting Charles to 4th place.</li>
<li>The leaderboard select window will show both Charles and Lewis in 3rd place.</li>
</ol>
<h3>Here&#8217;s why SQL Server is showing the &#8220;wrong&#8221; results by default.</h3>
<p>When our table is first populated, our clustered index looks like this, sorted by Id:</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="alignnone size-us_600_0 wp-image-358448" src="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/clustered-index-order.jpg?resize=600%2C251&#038;ssl=1" alt="Clustered index order" width="600" height="251" srcset="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/clustered-index-order.jpg?resize=600%2C251&amp;ssl=1 600w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/clustered-index-order.jpg?resize=250%2C105&amp;ssl=1 250w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/clustered-index-order.jpg?resize=768%2C321&amp;ssl=1 768w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/clustered-index-order.jpg?w=1200&amp;ssl=1 1200w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>After our first update query runs, the table changes to this:</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="alignnone size-us_600_0 wp-image-358449" src="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/lewis-in-fourth.jpg?resize=600%2C418&#038;ssl=1" alt="Lewis in 3rd" width="600" height="418" srcset="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/lewis-in-fourth.jpg?resize=600%2C418&amp;ssl=1 600w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/lewis-in-fourth.jpg?resize=250%2C174&amp;ssl=1 250w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/lewis-in-fourth.jpg?resize=574%2C400&amp;ssl=1 574w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/lewis-in-fourth.jpg?resize=768%2C535&amp;ssl=1 768w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/lewis-in-fourth.jpg?w=1200&amp;ssl=1 1200w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>Here&#8217;s the tricky part: row Id #4 is now locked, because we&#8217;ve updated Lewis to 3rd place. It doesn&#8217;t move where his row is in the table &#8211; his row is still last &#8211; but right now, it&#8217;s locked.</p>
<p>Next, if the select runs in our default pessimistic (Read Committed) isolation level:</p>
<pre class="urvanov-syntax-highlighter-plain-tag">SELECT DriverName, Position
FROM [IsolationLevelDemo].dbo.F1Standings
ORDER BY Position;</pre>
<p>SQL Server starts reading from the beginning of the table. (We don&#8217;t have an index &#8211; that makes the demo even more complicated, and I wanna keep this simple for starters &#8211; you can explore how indexes and different key orders affect this later on your own if you&#8217;d like. I can lead you to water but I can&#8217;t make you a margarita. Go play with indexes, indexed views, columnstore, In-Memory OLTP, and MongoDB on your own time. I&#8217;m trying to get this blog post done in under 1,000 words, in an airport terminal. Yes, the client had indexes, and that made the situation even more fun to diagnose. No, I&#8217;m not being sarcastic about &#8220;fun&#8221;, and yes, I have a twisted definition of fun. Clients get nervous when I jump and clap for joy at their problems.)</p>
<p>It reads from the beginning of the table, and reads rows 1, 2, and 3 because those rows aren&#8217;t locked yet. That means its reads INCLUDE the currently UNLOCKED Charles, and the select sees him in third place. However, the query now pauses at row 4, unable to read it yet, blocked, because we&#8217;ve updated row 3.</p>
<p>The second query in our update transaction now needs a lock on row 3, Charles, and it can get it. The select doesn&#8217;t hold out a lock on that row &#8211; it&#8217;s already done reading it, and the select has already seen Charles at 3rd place. The update locks Id 3 (Charles), sets his place to 4th, commits the transaction, and releases its lock on all rows &#8211; allowing our select to finally read row 4, Lewis &#8211; but he&#8217;s now in 3rd place!</p>
<h3>To fix that, we turned on RCSI.</h3>
<p>Read Committed Snapshot Isolation turns on a version store that allows read queries to see a previous version of locked rows, before changes are made. This changes what happens when we step through the process:</p>
<ol>
<li>Start the transaction and run the first update statement, setting Lewis to 3rd place.</li>
<li>In ANOTHER window/session, run the leaderboard select. It will <em><strong>not</strong></em> be blocked this time, and will be able to read the previous version of Lewis&#8217;s row, showing him in 4th place. The leaderboard query finishes, showing a result that is technically true because the update hasn&#8217;t committed yet.</li>
</ol>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="alignnone size-us_600_0 wp-image-358450" src="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/accurate-leaderboard.jpg?resize=600%2C263&#038;ssl=1" alt="Accurate leaderboard" width="600" height="263" srcset="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/accurate-leaderboard.jpg?resize=600%2C263&amp;ssl=1 600w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/accurate-leaderboard.jpg?resize=250%2C110&amp;ssl=1 250w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/accurate-leaderboard.jpg?resize=768%2C337&amp;ssl=1 768w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/06/accurate-leaderboard.jpg?w=1200&amp;ssl=1 1200w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>You could argue, &#8220;Brent, that&#8217;s not the right leaderboard, because Lewis just passed Charles!&#8221; I hear you, but in a fast-and-furious situation like this, I&#8217;d rather show a set of leaderboard results that were technically true at <em>some</em> moment in time, rather than showing an impossible set of results that were never true in <em>any</em> moment of time.</p>
<p>If you were really gonna do it right, you&#8217;d lock both rows in a single update statement:</p>
<pre class="urvanov-syntax-highlighter-plain-tag">UPDATE dbo.F1Standings
SET Position = CASE 
    WHEN DriverName = 'Lewis Hamilton' THEN 3
    WHEN DriverName = 'Charles Leclerc' THEN 4
    END
WHERE DriverName IN ('Charles LeClerc', 'Lewis Hamilton');</pre>
<p>That way you lock both rows in a single statement, no separate transaction is required, and read queries will see the right results regardless of what isolation level we use. (Unless you&#8217;re using <a href="https://www.brentozar.com/archive/2021/11/nolock-is-bad-and-you-probably-shouldnt-use-it/">NOLOCK, aka YOLO results mode</a>, but that&#8217;s for another post.)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.brentozar.com/archive/2026/06/and-then-there-was-the-time-rcsi-actually-made-query-results-more-accurate/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">358444</post-id>	</item>
		<item>
		<title>If You Had to Go Back On-Prem&#8230; #tsql2sday</title>
		<link>https://www.brentozar.com/archive/2026/06/if-you-had-to-go-back-on-prem-tsql2sday/</link>
					<comments>https://www.brentozar.com/archive/2026/06/if-you-had-to-go-back-on-prem-tsql2sday/#comments</comments>
		
		<dc:creator><![CDATA[Brent Ozar]]></dc:creator>
		<pubDate>Tue, 09 Jun 2026 13:15:23 +0000</pubDate>
				<category><![CDATA[Cloud Computing]]></category>
		<guid isPermaLink="false">https://www.brentozar.com/?p=358381</guid>

					<description><![CDATA[For T-SQL Tuesday #199, Koen Verbeeck posed an excellent question: if your company moved up to the cloud, but after migrating, had to come back on-premises, what would be the big problems? I&#8217;ve had clients in this exact situation! Here are some of my favorite gotchas from those experiences. Buying hardware is really hard right...]]></description>
										<content:encoded><![CDATA[<p>For T-SQL Tuesday #199, <a href="https://sqlkover.com/t-sql-tuesday-199-invitation-back-to-on-prem/">Koen Verbeeck posed an excellent question</a>: if your company moved up to the cloud, but after migrating, had to come back on-premises, what would be the big problems?</p>
<p><a href="https://sqlkover.com/t-sql-tuesday-199-invitation-back-to-on-prem/"><img data-recalc-dims="1" style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  loading="lazy" decoding="async" class="alignright size-medium wp-image-109880" src="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2018/02/t-sql-tuesday.png?resize=200%2C200&#038;ssl=1" alt="" width="200" height="200" srcset="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2018/02/t-sql-tuesday.png?resize=200%2C200&amp;ssl=1 200w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2018/02/t-sql-tuesday.png?resize=250%2C250&amp;ssl=1 250w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2018/02/t-sql-tuesday.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2018/02/t-sql-tuesday.png?resize=400%2C400&amp;ssl=1 400w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2018/02/t-sql-tuesday.png?resize=60%2C60&amp;ssl=1 60w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2018/02/t-sql-tuesday.png?resize=350%2C350&amp;ssl=1 350w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2018/02/t-sql-tuesday.png?w=500&amp;ssl=1 500w" sizes="auto, (max-width: 200px) 100vw, 200px" /></a>I&#8217;ve had clients in this exact situation! Here are some of my favorite gotchas from those experiences.</p>
<p><strong>Buying hardware is really hard right now.</strong> AI companies have sucked up all of the available cheap hardware, and the remaining stuff is expensive, hard-to-get, and often delayed. You&#8217;re probably used to provisioning hardware in minutes &#8211; boy, are you gonna be in for a rough time if you need to get your hands on a bigger server, fast.</p>
<p><strong>Calm outage troubleshooting may be a lost art.</strong> In the cloud, when there&#8217;s a major outage, you can shrug and point your fingers up at a giant vendor with a status page. On-prem, the executives are going to call you into a conference call and expect you to continue clearly communicating while simultaneously solving the problem. That&#8217;s a set of skills that a lot of us never had in the first place. The first major on-prem outage is a sad and eye-opening experience.</p>
<p><strong>All it takes to stop the move is one dependency.</strong> If, after the migration TO the cloud, just one developer or sysadmin added a call to a cloud service that isn&#8217;t available on-prem, like a proprietary service from one cloud provider, you can be in a world of hurt. The entire migration back on-premises may hinge on finding a good self-hostable alternative to that service. It&#8217;s especially painful if the cloud vendor provides the service very inexpensively, but it&#8217;s very hard to maintain on your own.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.brentozar.com/archive/2026/06/if-you-had-to-go-back-on-prem-tsql2sday/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">358381</post-id>	</item>
		<item>
		<title>Today Is the Last Day of Our Anniversary Sale!</title>
		<link>https://www.brentozar.com/archive/2026/06/today-is-the-last-day-of-our-anniversary-sale/</link>
					<comments>https://www.brentozar.com/archive/2026/06/today-is-the-last-day-of-our-anniversary-sale/#respond</comments>
		
		<dc:creator><![CDATA[Brent Ozar]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 13:15:51 +0000</pubDate>
				<category><![CDATA[Company News]]></category>
		<guid isPermaLink="false">https://www.brentozar.com/?p=358161</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<section class="l-section wpb_row us_custom_4af741be height_auto"><div class="l-section-h i-cf"><div class="g-cols vc_row via_flex valign_top type_default stacking_default"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="wpb_text_column"><div class="wpb_wrapper"><p>Way back in May 2002, I posted <a href="https://www.brentozar.com/archive/2002/05/here-we-go-im-in/">my first blog post here</a>.</p>
<p>I didn&#8217;t know what it would eventually become, but I just wanted to stake out a place online where I could write stuff, put it into a database, and have that database serve my stuff out to other people. Initially, it was a blog platform that I&#8217;d written myself, and then later I migrated it to Movable Type, then to WordPress.</p>
<p>I never would have predicted that it&#8217;d turn into a business, or a YouTube channel, an email list with tens of thousands of subscribers, or an open source toolkit that helps thousands of people manage their databases every month. I take that stuff for granted now, because it feels like it&#8217;s been this way forever, but it&#8217;s funny to go back and read those initial blog posts and see how much things have changed.</p>
<p>To celebrate, you can pick up my classes for a low low price today. See you in class!</p>
</div></div><div class="w-pricing style_simple items_3"><div class="w-pricing-item type_default"><div class="w-pricing-item-h"><div class="w-pricing-item-header"><div class="w-pricing-item-title">Fundamentals</div><div class="w-pricing-item-price">$229</div></div><ul class="w-pricing-item-features"><li class="w-pricing-item-feature">How I Use the First Responder Kit</li><li class="w-pricing-item-feature">Fundamentals of Index Tuning</li><li class="w-pricing-item-feature">Fundamentals of Columnstore</li><li class="w-pricing-item-feature">Fundamentals of Query Tuning</li><li class="w-pricing-item-feature">Fundamentals of Parameter Sniffing</li><li class="w-pricing-item-feature">Fundamentals of TempDB</li><li class="w-pricing-item-feature">Fundamentals of Azure Networking</li><li class="w-pricing-item-feature">Fundamentals of PowerShell for DBAs</li><li class="w-pricing-item-feature">Running SQL Server in AWS & Azure</li><li class="w-pricing-item-feature">DBA Job Interview Q&A Kit</li><li class="w-pricing-item-feature">That's a $936 value - but buy them all at once, and save big.</li></ul><div class="w-pricing-item-footer"><a class="w-btn us-btn-style_1" style="font-size:15px" href="https://training.brentozar.com/purchase?product_id=6759924"><span class="w-btn-label">Buy Now</span></a></div></div></div><div class="w-pricing-item type_default"><div class="w-pricing-item-h"><div class="w-pricing-item-header"><div class="w-pricing-item-title">Mastering</div><div class="w-pricing-item-price">$579<small>per year</small></div></div><ul class="w-pricing-item-features"><li class="w-pricing-item-feature">Mastering Index Tuning</li><li class="w-pricing-item-feature">Mastering Query Tuning</li><li class="w-pricing-item-feature">Mastering Parameter Sniffing</li><li class="w-pricing-item-feature">Mastering Server Tuning</li><li class="w-pricing-item-feature">That's a $1580 value - but buy them all at once, and save big.</li></ul><div class="w-pricing-item-footer"><a class="w-btn us-btn-style_1" style="font-size:15px" href="https://training.brentozar.com/purchase?product_id=6759935"><span class="w-btn-label">Buy Now</span></a></div></div></div><div class="w-pricing-item type_featured"><div class="w-pricing-item-h"><div class="w-pricing-item-header"><div class="w-pricing-item-title">Level 2 Bundle</div><div class="w-pricing-item-price">$1095<small>per year</small></div></div><ul class="w-pricing-item-features"><li class="w-pricing-item-feature">All my Fundamentals and Mastering SQL Server classes</li><li class="w-pricing-item-feature">The Consultant Toolkit</li><li class="w-pricing-item-feature">SQL ConstantCare</li></ul><div class="w-pricing-item-footer"><a class="w-btn us-btn-style_1" style="font-size:15px" href="https://training.brentozar.com/p/level-2-bundle"><span class="w-btn-label">Buy Now</span></a></div></div></div></div></div></div></div></div></div></section>
]]></content:encoded>
					
					<wfw:commentRss>https://www.brentozar.com/archive/2026/06/today-is-the-last-day-of-our-anniversary-sale/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">358161</post-id>	</item>
		<item>
		<title>[Video] Office Hours: Ask Me Anything At Home</title>
		<link>https://www.brentozar.com/archive/2026/06/office-hours-ask-me-anything-at-home/</link>
					<comments>https://www.brentozar.com/archive/2026/06/office-hours-ask-me-anything-at-home/#comments</comments>
		
		<dc:creator><![CDATA[Brent Ozar]]></dc:creator>
		<pubDate>Thu, 04 Jun 2026 13:15:04 +0000</pubDate>
				<category><![CDATA[Videos]]></category>
		<guid isPermaLink="false">https://www.brentozar.com/?p=358339</guid>

					<description><![CDATA[I&#8217;m back in the home office to take another round of the top-voted questions from https://pollgab.com/room/brento. Here&#8217;s what we covered: 00:00 Start 00:52 chris: After your time at SQLBits you’d posted about the number of SQL Server consultants who were very opposed to AI. What was the feedback you were getting on why folks are...]]></description>
										<content:encoded><![CDATA[<p>I&#8217;m back in the home office to take another round of the top-voted questions from <a href="https://pollgab.com/room/brento">https://pollgab.com/room/brento</a>.</p>
<a href="https://www.brentozar.com/archive/2026/06/office-hours-ask-me-anything-at-home/"><img decoding="async" src="https://www.brentozar.com/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FQdQiRbYr500%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>Here&#8217;s what we covered:</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=QdQiRbYr500" aria-label="0 seconds">00:00</a> Start</li>
<li><a href="https://www.youtube.com/watch?v=QdQiRbYr500&amp;t=52s" aria-label="52 seconds">00:52</a> chris: After your time at SQLBits you’d posted about the number of SQL Server consultants who were very opposed to AI. What was the feedback you were getting on why folks are against this technology?</li>
<li><a href="https://www.youtube.com/watch?v=QdQiRbYr500&amp;t=230s" aria-label="3 minutes, 50 seconds">03:50</a> DBAInAction: Hi Brent, what’s your recommended rollback policy for SQL upgrades while maintaining same compatibility? how do you address the data gap that may occur after the go-live and if we need to rollback ? If Leadership requests a formal strategy, how do you structure your response?</li>
<li><a href="https://www.youtube.com/watch?v=QdQiRbYr500&amp;t=343s" aria-label="5 minutes, 43 seconds">05:43</a> Michael J Swart: You linked to a Tested Q&amp;A: The number of times I&#8217;ve shown a client a gray spray painted piece And I&#8217;ve said this is not for color it&#8217;s only for form Then the first thing the client says is yeah I just don&#8217;t like the color What questions like that do you hear too often?</li>
<li><a href="https://www.youtube.com/watch?v=QdQiRbYr500&amp;t=635s" aria-label="10 minutes, 35 seconds">10:35</a> Niktrs: Hi Bent. Thank you for the spring training. Because time zone difference, I would appreciate it, if you could leave the video recordings available for one day. Thanks in advance</li>
<li><a href="https://www.youtube.com/watch?v=QdQiRbYr500&amp;t=690s" aria-label="11 minutes, 30 seconds">11:30</a> Hany: Hello Brent, In your website (the Anniversary Sale page) I noticed Google is one of your customers, just wondering, Google doesn`t have a professional database team to fix their issues themselves?</li>
<li><a href="https://www.youtube.com/watch?v=QdQiRbYr500&amp;t=844s" aria-label="14 minutes, 4 seconds">14:04</a> TipsyManager: Hola Brent! You do a good amount of traveling; any local food (and booze!) that you&#8217;ve particularly enjoyed? Or particularly hated?</li>
<li><a href="https://www.youtube.com/watch?v=QdQiRbYr500&amp;t=965s" aria-label="16 minutes, 5 seconds">16:05</a> Will: I know you&#8217;ve stated in the past that you dont like current microsoft SQL certifications, such as the dp-300. Are there any non-microsoft SQL certifications that are respected by employers and actually help certify your knowledge vs just being a marketing gimmick?</li>
<li><a href="https://www.youtube.com/watch?v=QdQiRbYr500&amp;t=1055s" aria-label="17 minutes, 35 seconds">17:35</a> benlinuxguy: Hi Brent. Are you planning to do any Day of Data (former SQL Saturday) at any point in the future, or was last year the last time you did these?</li>
<li><a href="https://www.youtube.com/watch?v=QdQiRbYr500&amp;t=1242s" aria-label="20 minutes, 42 seconds">20:42</a> Luca Carraro (DBA &#8211; Doing Business As): Hi Brent, have you ever experienced any performance issues related to the proliferation of DB objects, especially Stored Procedures?</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.brentozar.com/archive/2026/06/office-hours-ask-me-anything-at-home/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">358339</post-id>	</item>
	</channel>
</rss>