<?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, 05 Sep 2026 22:51:57 +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>[Video] Office Hours on Mount Charleston</title>
		<link>https://www.brentozar.com/archive/2026/09/video-office-hours-on-mount-charleston/</link>
					<comments>https://www.brentozar.com/archive/2026/09/video-office-hours-on-mount-charleston/#respond</comments>
		
		<dc:creator><![CDATA[Brent Ozar]]></dc:creator>
		<pubDate>Thu, 10 Sep 2026 13:15:09 +0000</pubDate>
				<category><![CDATA[Videos]]></category>
		<guid isPermaLink="false">https://www.brentozar.com/?p=359311</guid>

					<description><![CDATA[For this episode, I&#8217;m up in the mountains just outside Vegas, enjoying the nice cool temperatures, spending the weekend at Mount Charleston. Let&#8217;s go through your top-voted questions from https://pollgab.com/room/brento. Here&#8217;s what we discussed: 00:00 Start 01:41 youAskedForAProblemThatWouldBenefitFromLargerTable: Problem:Table is 100% larger than ideal. Page splits decrease page density to 51% after adding just 1% [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>For this episode, I&#8217;m up in the mountains just outside Vegas, enjoying the nice cool temperatures, spending the weekend at <a href="https://www.gomtcharleston.com">Mount Charleston</a>. Let&#8217;s go through your 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/09/video-office-hours-on-mount-charleston/"><img decoding="async" src="https://www.brentozar.com/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FGN31TnYVdgI%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>Here&#8217;s what we discussed:</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=GN31TnYVdgI" aria-label="0 seconds">00:00</a> Start</li>
<li><a href="https://www.youtube.com/watch?v=GN31TnYVdgI&amp;t=101s" aria-label="1 minute, 41 seconds">01:41</a> youAskedForAProblemThatWouldBenefitFromLargerTable: Problem:Table is 100% larger than ideal. Page splits decrease page density to 51% after adding just 1% new records following rebuild with 100% filfactor. Fix:Making table 10% larger w/ FF 90% allows adding 8% new records without decreasing page density or enlarging table further.</li>
<li><a href="https://www.youtube.com/watch?v=GN31TnYVdgI&amp;t=299s" aria-label="4 minutes, 59 seconds">04:59</a> AndrewG: (I am SaaS support) I see a lot of DBAs utilizing Query Store. Is there any reason I should use this instead of the first responder kit?</li>
<li><a href="https://www.youtube.com/watch?v=GN31TnYVdgI&amp;t=355s" aria-label="5 minutes, 55 seconds">05:55</a> chris: Hi Brent! You&#8217;ve shared the RSS feed you use and it&#8217;s a very lengthy list. Do you manage to keep up with the entire feed?</li>
<li><a href="https://www.youtube.com/watch?v=GN31TnYVdgI&amp;t=450s" aria-label="7 minutes, 30 seconds">07:30</a> Jersey: When designing an index that uses included columns, is there a &#8220;sweet spot&#8221; for the number of columns included in the INCLUDE clause, or does it primarily depend on the query workload and performance requirements?</li>
<li><a href="https://www.youtube.com/watch?v=GN31TnYVdgI&amp;t=502s" aria-label="8 minutes, 22 seconds">08:22</a> PursuitOfExcellenceDBA: Hello Brent. Being a SQL guru yourself, just curious since you always refer others for their area of expertise. Have you ever reached out to Paul Randall or others and/or vice versa to solve a complicated SQL server issue that took you to finish line faster?</li>
<li><a href="https://www.youtube.com/watch?v=GN31TnYVdgI&amp;t=647s" aria-label="10 minutes, 47 seconds">10:47</a> AlwaysLearningDBA: I have daily index maintenance job per your blog &amp; weekly reindexing job.DB size is around 4TB (will keep increasing). Weekly index maintenance is running over 18 hours.How do I run Ola’s job in parallel for multiple indexes at a time? Looking for a scalable solution. Thank you.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.brentozar.com/archive/2026/09/video-office-hours-on-mount-charleston/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">359311</post-id>	</item>
		<item>
		<title>Database Animations: How SQL Server&#8217;s JSON Indexes Work</title>
		<link>https://www.brentozar.com/archive/2026/09/database-animations-how-sql-servers-json-indexes-work/</link>
					<comments>https://www.brentozar.com/archive/2026/09/database-animations-how-sql-servers-json-indexes-work/#comments</comments>
		
		<dc:creator><![CDATA[Brent Ozar]]></dc:creator>
		<pubDate>Wed, 09 Sep 2026 13:15:39 +0000</pubDate>
				<category><![CDATA[Database Animations]]></category>
		<category><![CDATA[Indexing]]></category>
		<guid isPermaLink="false">https://www.brentozar.com/?p=359193</guid>

					<description><![CDATA[By popular demand, SQL Server 2025 added JSON indexes. You can eat the cake of being able to store practically schema-less JSON blobs as part of each row, and have it too by querying specific values quickly. (The common phrase is to &#8220;have your cake and eat it too&#8221;, but did you ever think about [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>By popular demand, SQL Server 2025 added JSON indexes. You can eat the cake of being able to store practically schema-less JSON blobs as part of each row, and have it too by querying specific values quickly.</p>
<p>(The common phrase is to &#8220;have your cake and eat it too&#8221;, but did you ever think about how that&#8217;s backwards, and it doesn&#8217;t make any sense? It actually makes a lot more sense in the opposite order &#8211; as in, <em>eat</em> your cake and <em>have</em> it too &#8211; because that represents the best-of-both-worlds scenario. Have your cake and eat it too implies that you would <em>have </em>it, and then <em>eat</em> it, but once you eat it, you can no longer have it, so &#8211; okay, I&#8217;ll stick with teaching database stuff. Moving on.)</p>
<p>Let&#8217;s use the Users table from <a href="https://www.brentozar.com/archive/2015/10/how-to-download-the-stack-overflow-database-via-bittorrent/">the Stack Overflow database</a>, and let&#8217;s pretend that the Users.Location column is stored as JSON rather than letting users type in whatever they want. Let&#8217;s pretend we make them pick their Country, Province, and City. Then, let&#8217;s use<span style="font-family: var(--font-body); font-size: 1.125rem;"> one of </span><a style="font-family: var(--font-body); font-size: 1.125rem;" href="https://www.brentozar.com/archive/category/database-animations/">my Database Animations</a> to illustrate the pain of querying it without the JSON index, and then the cake-y-ness of the added index:</p>
<p><a href="https://www.brentozar.com/archive/2026/09/database-animations-how-sql-servers-json-indexes-work/"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/www.brentozar.com/wp-content/uploads/animations/json-index-email.gif?w=600&#038;ssl=1" alt="Json Index (animation)"  style="max-width:100%;height:auto;" /></a><br /><a href="https://www.brentozar.com/archive/2026/09/database-animations-how-sql-servers-json-indexes-work/">&#9654; Watch the animated version of Json Index</a></p>
<p>Before we have the JSON index, we have to do:</p>
<ul>
<li>The read-intensive work of scanning every row in the table, and</li>
<li>The CPU-intensive work of breaking open the string and parsing the JSON data to identify each attribute</li>
</ul>
<p>The JSON index turns the work into a simple index-seek-and-key-lookup &#8211; the same awesome, ground-shaking power and speed you&#8217;re used to having from traditional table designs &amp; indexes. You get to eat your cake (not bothering to design your table structures), and have it too (get fast querying &#8211; as long as you&#8217;re willing to design indexes to support your queries.)</p>
<p>However, this only works if:</p>
<ul>
<li>You actually create the JSON indexes</li>
<li>You filter on the indexed attributes (you can filter on <em>more</em> attributes too, but at minimum you need to filter on an indexed attributes so SQL Server can reduce your search space before checking the other filters in your query)</li>
<li>The indexed columns are selective &#8211; they reduce your search space (as opposed to a attributes like Alive = Yes, which doesn&#8217;t really reduce your search space)</li>
<li>You keep the number of indexed attributes to a minimum &#8211; say, 5-10 attributes max</li>
</ul>
<h3>That limit of 5-10 attributes surprises developers.</h3>
<p>After all, Microsoft makes it sound practically unlimited in <a href="https://learn.microsoft.com/en-us/sql/t-sql/statements/create-json-index-transact-sql">the CREATE JSON INDEX documentation</a>. The first example they use looks like this:</p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">CREATE JSON INDEX json_content_index ON dbo.Users (UserAttributes);</pre><p></p>
<p>In that example, EVERYTHING we stuff into that JSON junk drawer gets indexed &#8211; including in our example above, whether they want Theme:Dark or Theme:Light. However, that ends up creating <em>an index on every attribute we put in our JSON.</em> The size growth is explosive, and it&#8217;s not unusual to see the index size be a <em>multiple</em> of the size of the JSON data we&#8217;re storing. (And you thought JSON data was size-inefficient!) There aren&#8217;t any warnings about that in the documentation, but trust me, <a href="https://www.brentozar.com/archive/2025/11/how-to-query-json-data-quickly-in-sql-server-part-2-sql-server-2025/">the overhead is spectacular</a>. If we stored the entire Users table columns all in JSON, and then ran Microsoft&#8217;s style of create-index, check out the size overhead:</p>
<p><a href="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/09/json-index-size.jpg?ssl=1"><img data-recalc-dims="1" decoding="async" class="alignnone wp-image-359199 size-medium" src="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/09/json-index-size.jpg?resize=400%2C131&#038;ssl=1" alt="JSON index size" width="400" height="131" srcset="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/09/json-index-size.jpg?resize=400%2C131&amp;ssl=1 400w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/09/json-index-size.jpg?resize=1000%2C329&amp;ssl=1 1000w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/09/json-index-size.jpg?resize=768%2C252&amp;ssl=1 768w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/09/json-index-size.jpg?resize=600%2C197&amp;ssl=1 600w, https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/09/json-index-size.jpg?w=1290&amp;ssl=1 1290w" sizes="(max-width: 400px) 100vw, 400px" /></a></p>
<p>The table itself is only 3.9GB, but the JSON index atop that data is 6GB &#8211; almost double the size of the table! Plus, if you modify <em>any</em> attribute on that table &#8211; even attributes you don&#8217;t filter on, like Theme = Dark vs Light &#8211; then you pay a performance penalty to keep the Theme&#8217;s index updated.</p>
<p>Instead, what you wanna do is index <em>only</em> the specific attributes that you&#8217;re going to regularly filter on, like the example I use in the animation:</p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">CREATE JSON INDEX json_content_index ON 
dbo.Users ('$.Location.Country', '$.Location.Province', '$.Location.City');</pre><p></p>
<p>That way you get the best of all worlds: fast performance on the filters you use, low insert/update/delete overhead for the index maintenance on those indexed attributes, and for any other properties you wanna save in JSON, you get schema-less design, fast iteration on the app side, and low overhead on the database side.</p>
<p>Where does the 5-10 number come from? <a href="https://training.brentozar.com/p/fundamentals-of-index-tuning-2026">My Fundamentals of Index Tuning class</a>, where I explain the overhead that each additional index costs in terms of insert/update/delete performance. The more copies of the table that you add, the slower your inserts/updates/deletes go, and you start hitting the point where your users notice long blocking delays under concurrent workloads. In that class, I talk about when you can exceed that 5-10 number, and when you may need to go even lower on your number of indexes in order to get the ingestion speed you need. See you in class!</p>
<p><em>Note: I generated the animations in this post with Claude Code, but all of the text &amp; demos are completely written by me.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.brentozar.com/archive/2026/09/database-animations-how-sql-servers-json-indexes-work/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">359193</post-id>	</item>
		<item>
		<title>Set Your Application Names Before You Wish You Had.</title>
		<link>https://www.brentozar.com/archive/2026/09/set-your-application-names-before-you-wish-you-had/</link>
					<comments>https://www.brentozar.com/archive/2026/09/set-your-application-names-before-you-wish-you-had/#comments</comments>
		
		<dc:creator><![CDATA[Brent Ozar]]></dc:creator>
		<pubDate>Tue, 08 Sep 2026 13:15:59 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<guid isPermaLink="false">https://www.brentozar.com/?p=357999</guid>

					<description><![CDATA[When you run monitoring queries like sp_BlitzWho and sp_WhoIsActive, you wanna see the program names that are running the queries. It&#8217;s super useful when you&#8217;ve got multiple apps running on the same servers, or when you&#8217;ve got apps scattered across end user computers. If you don&#8217;t set the program names, you&#8217;ll either end up with [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>When you run monitoring queries like sp_BlitzWho and sp_WhoIsActive, you wanna see the program names that are running the queries. It&#8217;s super useful when you&#8217;ve got multiple apps running on the same servers, or when you&#8217;ve got apps scattered across end user computers.</p>
<p><img data-recalc-dims="1" style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  loading="lazy" decoding="async" class="alignright size-full wp-image-358000" src="https://i0.wp.com/www.brentozar.com/wp-content/uploads/2026/04/program_names.jpg?resize=163%2C119&#038;ssl=1" alt="Default program names" width="163" height="119" />If you don&#8217;t set the program names, you&#8217;ll either end up with empty strings, or your dev tool&#8217;s default name, like Core .Net SqlClient Data Provider, which doesn&#8217;t tell you jack.</p>
<p>It&#8217;s up to the developers to set the program name in code or in their connection string. Just tack it on to the end of your connection string like this:</p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">server=MyServer;database=MyDatabase;Integrated Security=SSPI;Application Name=My Incredible Application;</pre><p></p>
<p>And then in your monitoring tools, you&#8217;ll be able to group sessions together by application.</p>
<p>One question that comes up a lot afterwards is, &#8220;I&#8217;m looking at the plan cache and Query Store &#8211; what application and what user ran this query?&#8221; Unfortunately SQL Server can&#8217;t/won&#8217;t store that since a query might conceivably be run thousands of times per second, all from different servers/apps/users. If you need to track down who&#8217;s running a query, your best bet will be to set up an Extended Events trace, or if it&#8217;s a long-running query, do sampling of sp_BlitzWho or sp_WhoIsActive to table periodically.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.brentozar.com/archive/2026/09/set-your-application-names-before-you-wish-you-had/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">357999</post-id>	</item>
		<item>
		<title>[Video] Office Hours: Stoicism in the Home Office</title>
		<link>https://www.brentozar.com/archive/2026/09/video-office-hours-stoicism-in-the-home-office/</link>
					<comments>https://www.brentozar.com/archive/2026/09/video-office-hours-stoicism-in-the-home-office/#comments</comments>
		
		<dc:creator><![CDATA[Brent Ozar]]></dc:creator>
		<pubDate>Fri, 04 Sep 2026 13:15:06 +0000</pubDate>
				<category><![CDATA[Videos]]></category>
		<guid isPermaLink="false">https://www.brentozar.com/?p=359287</guid>

					<description><![CDATA[I&#8217;m back in the home office this week, covering your top-voted questions from https://pollgab.com/room/brento, and we finish up the session with a discussion of the stoic habit I use to start my mornings. Here&#8217;s what we discussed: 00:00 Start 01:42 Spicy Ninja Attack: If parameter sniffing fears justify skipping daily stats updates, should I also [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I&#8217;m back in the home office this week, covering your top-voted questions from <a href="https://pollgab.com/room/brento">https://pollgab.com/room/brento</a>, and we finish up the session with a discussion of the stoic habit I use to start my mornings.</p>
<a href="https://www.brentozar.com/archive/2026/09/video-office-hours-stoicism-in-the-home-office/"><img decoding="async" src="https://www.brentozar.com/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FodkrYIQKaMA%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>Here&#8217;s what we discussed:</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=odkrYIQKaMA" aria-label="0 seconds">00:00</a> Start</li>
<li><a href="https://www.youtube.com/watch?v=odkrYIQKaMA&amp;t=102s" aria-label="1 minute, 42 seconds">01:42</a> Spicy Ninja Attack: If parameter sniffing fears justify skipping daily stats updates, should I also turn off intelligence query processing features like CE feedback unless I know they&#8217;re solving problems? Both cause recompiles.</li>
<li><a href="https://www.youtube.com/watch?v=odkrYIQKaMA&amp;t=192s" aria-label="3 minutes, 12 seconds">03:12</a> Ted Striker: What are your pros / cons of periodically shrinking a SQL DB that grows large at times but then empties out quite a bit?</li>
<li><a href="https://www.youtube.com/watch?v=odkrYIQKaMA&amp;t=262s" aria-label="4 minutes, 22 seconds">04:22</a> Sir Index Alot: The vast majority of our deadlock errors are resolved by indexing vs changing the underlying queries. How often do you have to change the underlying query vs indexing to fix a deadlock error?</li>
<li><a href="https://www.youtube.com/watch?v=odkrYIQKaMA&amp;t=374s" aria-label="6 minutes, 14 seconds">06:14</a> AndrewG: Should I be enabling RCSI on every database? Is there any drawbacks or have seen any issues occur from it?</li>
<li><a href="https://www.youtube.com/watch?v=odkrYIQKaMA&amp;t=489s" aria-label="8 minutes, 9 seconds">08:09</a> MyTeaGotCold: Now that SQL Server 2022 is finally ready, do you find that Managed Instance Link is meeting people&#8217;s Standard Edition HA/DR needs?</li>
<li><a href="https://www.youtube.com/watch?v=odkrYIQKaMA&amp;t=574s" aria-label="9 minutes, 34 seconds">09:34</a> The Query Whisperer: How do your SQL AG clients deal with replicating users, permissions, agent jobs to the replicas? Run powershell script from another machine?</li>
<li><a href="https://www.youtube.com/watch?v=odkrYIQKaMA&amp;t=680s" aria-label="11 minutes, 20 seconds">11:20</a> LooseCannon: I support a number of internal SQL Server-based applications. Our SQL Server is curently 2017 and our IT department is upgrading this to 2022.Given the current state of play is this a wise choice over 2025. I don&#8217;t have much influence myself on the upgrade path.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.brentozar.com/archive/2026/09/video-office-hours-stoicism-in-the-home-office/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">359287</post-id>	</item>
	</channel>
</rss>