[Video] Office Hours in My London Hotel Room
When I’m on the road, I try to take you along with me to glamorous or scenic locations to give you a change of pace. However, last week in London was a bit of a whirlwind between SQLBits and restaurants, so at the last minute, I recorded Office Hours in my hotel room!
I went through your top-voted questions from https://pollgab.com/room/brento, and here’s what we covered:
- 00:00 Start
- 01:07 Shane: Hi Brent, I am early in my career and I enjoy learning about SQL Server performance tuning. Is it a bad bet for me to focus on that? With how AI is developing, would it make SQL Server performance tuning less needed in the future?
- 03:07 andrews: Have you ever worked with databases where Clustering Key had to be different from Primary Key, e.g. Clustering Key was made INT while Primary Key was left GUID. Have you seen any performance gains with this separation?What about Key Lookups in PK/FK JOIN to other tables
- 04:29 myClusteredIndexSucks: Changing clustered index seems too risky on very large critical tables in a system required 24×7. When the clustered index key is useless, do you ever create a ‘surrogate clustered index’? ie one non-clustered index on a very useful key with most or all the other columns
- 05:43 MyTeaGotCold: How can I have multiple BAGs with automatic failover on the same instance without a licensing risk? Because the databases aren’t in the same AG, I can’t guarantee that they failover together.
- 06:26 Bandhu: When taking a new DBA job, what’s the max number of SQL Servers you would feel comfortable being responsible for?
- 07:34 Cavaliery: Hi Bren, I’ve noticed that all your examples include an ‘Id’ field (an auto-incrementing integer). Do you think it’s always always necessary to have that field?
- 08:15 Bandhu: How does admin of a few SQL Servers differ from admin of a hundred SQL Servers?
- 08:52 TractorDBA: SQL2019: A UDF was inlined resulting in a complex execution plan which produced non-yielding schedulers, hanging SQL. Only stopping the service with NOWAIT via a DAC connection would kill the query. Have you seen anything like this? Can you point me to any educational cases?
- 09:59 Alexei Shostakov: What is your opinion of the new vector search functionality in SQL Server 2025? Will this drive SQL Server revenue to most glorious victory?
- 11:36 Eduardo : The corporate dashboard tool (Tableau) takes control of the TSQL generation but makes crazy complex / poor performing queries. Any tips for performance in this type of application?
- 12:36 Adrian: Hi Brent, I took all your Fundamental courses and I still cannot make a MAX run fast (SELECT a, MAX(b) GROUP BY a HAVING MAX(b) …). Does it help to look for Mastery courses (which one?) or there is not a guaranteed solution for the problem? I used SQL 2019 for my attempts.
Related

Hi! I’m Brent Ozar.
I make Microsoft SQL Server go faster. I love teaching, travel, cars, and laughing. I’m based out of Las Vegas. He/him. I teach SQL Server training classes, or if you haven’t got time for the pain, I’m available for consulting too.
Get Free SQL Stuff
"*" indicates required fields

2 Comments. Leave new
Answer to Andrew about the clustering key being different than the primary key. That’s the majority of the tables. Using a “person” table as and example, there are no attributes that uniquely identify a person. You need to create an artificial key. But, the majority of the queries may be using the name fields to search on. That would be a far more efficient clustered index than the artificial key
re: clustered indexes
I used to make join columns in a junction table the primary key then clustered that, but stopped doing that after having to add another join column, then changed to using an identity for the clustered index and instead placed a unique nonclustered index on the join columns.
The few cases I can think of placing the clustered key somewhere else that I still use I think have all been reporting tables that were had transformed data from somewhere else.