« first day (223 days earlier)      last day (466 days later) » 
00:00 - 23:0023:00 - 00:00

12:00 AM
will email you
 
 
2 hours later…
2:26 AM
found joe's new sock puppet account
0
A: Difference between clustered index seek and non clustered index seek

Agrawal SI would contend that the clustered index can be dropped. The CI joins to the end of the NCI (in query plans) and hence doesnt really add any benefit having the same column in the NCI. NCI should be structured based on the queries used over the table.

 
> Reads: 3,156 Writes: 19,292,010,632
 
how about JUST DROP THAT INDEX
 
drop indexes first, ask questions later
 
@sp_BlitzErik lol exactly.
I don't look at all the issues that come in, but that one made me chuckle.
Look how shortsighted you guys are, not planning for indexes with 10's of billions of writes.
 
i remember writing that thinking "a 10 digit number is pretty long"
now i have an eye twitch
 
2:37 AM
where is the 19 B num from?
 
Hth
"I increased length from 10 to 100" - very thorough
 
i need to format those numbers better anyway
 
2:52 AM
index writes
never looked at that one
 
@sp_BlitzErik silver lining.
 
so I assume the guy doesn't restart often?
 
doesn't appear to do much with indexes all that often
 
@sp_BlitzErik extraordinary claims require extraordinary evidence
 
yeah!
can't trust a man who uses profiler
 
3:11 AM
@PaulWhite telling people to drop clustered indexes is all the proof I need
 
I don't think I've ever said that
I say don't create it in the first place
 
@JoeObbish a man who uses profiler is a man who can get back to enjoying life
 
dropping a clustered index is a pain in the ass
 
@sp_BlitzErik I meant that answer needs to back up that statement
Anyway it earned a down vote from me
 
@PaulWhite I was hoping some dashing moderator would just come along and delete it
 
3:15 AM
We don't generally delete wrong answers because they can be useful as examples of what not to do. Egregiously harmful stuff can be deleted. Also high rep users can collaborate to delete at their discretion
Or should I say collude
Down vote to get the post below zero. Refresh the page. Vote to delete. Standard practice.
For trusted users
 
@PaulWhite yes, that's the preferred term
 
Though goodness knows why we would ever trust users
 
Users are the worst
 
Bit of a rabble
Rascals even
 
I also down voted that answer which sets back my quest to become a trusted user and vote to delete every answer that's not mine
 
3:24 AM
The only rational capitalist strategy
I might take another look at that answer later because it might have been intended as a comment on the question
Which of course would qualify it for deletion
Bit limited for tools on mobile
 
Well use your Best Judgment®
 
That would be a first
In unrelated news, this afternoon is sponsored by The Prodigy
 
who>?
 
😲😲😲
You're not serious
 
let's hear it
maybe it
'll ring a bell
 
3:32 AM
The Prodigy are an English electronica group from Braintree, Essex, formed in 1990 by keyboardist and songwriter Liam Howlett. The first line-up of the band also included Maxim (MC and vocalist), Keith Flint (dancer and vocalist), Leeroy Thornhill (dancer and live keyboardist), and female dancer and vocalist Sharky. Along with the Chemical Brothers, Fatboy Slim, and other acts, the Prodigy have been credited as pioneers of the big beat genre, which achieved mainstream popularity in the 1990s.The Prodigy first emerged in the underground rave scene in the early 1990s and have since achieved popularity...
 
> formed in 1990
> mainstream popularity in the 1990s
I was 2
 
that doesn't look family friendly
 
Very little of the 80s and early 90s was
The worthwhile bits anyway
 
hey
I was family friendly
 
3:47 AM
Well I didn't say none of it was
 
 
7 hours later…
11:10 AM
@PaulWhite the 90s spawned a generation of dolts who think every homeless person might secretly be jesus
 
gbn
11:27 AM
@PaulWhite Got my tickets to see them (again) this December
 
11:42 AM
@gbn! how are you?
 
gbn
11:52 AM
@sp_BlitzErik very good thanks. And you?
 
pretty good. slaving away over here :)
 
gbn
12:18 PM
I've been lurking or not at work. Compensation and public holidays.
being a slack European basically
 
i'm going to do my best impression of a slack european in a few weeks
 
gbn
@sp_BlitzErik SQL Pass over here?
 
no, just going to be in gay paris for a week
my wife keeps booking vacations to get revenge on me for making her have a second kid
 
gbn
Full of french people and dog shit
But iconic...
 
1:07 PM
i've been assured that it's not so full of french people and that that's a good thing
or something
 
gbn
1:34 PM
Well, they're all in London which is the 6th biggest French city...
 
lol
the french diaspora
 
hey frenchie
what about operation kiwi?
 
1:50 PM
haven't talked about it since the baby, sorry :(
also github is down. thanks, microsoft.
 
thanks, microsoft
 
2:17 PM
@sp_BlitzErik RCA: you have crap hardware. Closed as not reproducible.
@sp_BlitzErik Well, see, the linux kubernetes cluster running pacemaker on the UCS chassis couldn't contact the cloud because a machine learning algorithm decided to become sentient and we were busy quelling that revolution through th euse of big data and a non-sentient AI. You're welcome.
 
you know what my hardware is
pally
 
I know, that's what makes it fun ;)
 
@SeanGallardy have you tried not letting powershell script kiddies create AIs?
 
2:31 PM
@sp_BlitzErik "meh"
 
guess not
 
yo @SeanGallardy
I'm going to use STATS_STREAM in production
should I not do this?
 
who let you near production?
 
I wore a disguise
 
@JoeObbish I don't see a problem with it
I wrote a post a long time ago about it
Updating stats on a copy then scripting out the blobs and applying them to production
 
2:40 PM
not a great post?
 
Probably got deleted
 
<update_stats_stream_option> Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.
I mean... if we have to do it, we have to do it
but at one point didn't they say that trace flags weren't supported?
 
For a vldb and updating stats, I think it's a worthy cause
Nothing you do, I support.
 
vldb?
 
Very Large DataBase
 
2:41 PM
You mean a database with "more to love"?
"Price Increase on September 22 (00:00 UTC)
Know someone who hasn’t completed their registration? Let them know to register today to ensure a savings of $200 before the price goes up. Check out the all-in-one bundle for best value"
@SeanGallardy HTH
 
suckers, i only have to pay to attend my own precon
 
@JoeObbish It does not :(
 
@sp_BlitzErik ahem
 
what the literal...
 
a-hem h-what?
 
2:45 PM
I'm not paying for anything
 
wheat, thins. hhhhhweat thins
 
:&)
 
something is wrong with your nose...
 
@SeanGallardy v. unfriendly
Have either of you ever heard of someone using stats_stream in prod?
 
I've used it
that works for both stats_stream and your nose
:D
 
2:46 PM
<-- doesn't understand
 
honestly at this point, I don't either but I'm sticking with it
 
Guys. Can anyone confirm my theory here?
I find the whole thing a bit confusing. Stats I/O says there were zero reads. But the index scan operator in the actual execution plan says there were 4 executions.
But I'm not very good at reading execution plans.
Or know anything about anything.
 
actual rows: 0
@JoeObbish
1
Q: Performance Implications of a Clustered Columnstore Index

AftabI am using SQL Server 2016 and expecting some details on below points regarding performance point of view: Is there any performance gain or additional benefit on creating a primary key - unique constraint on same table on which a clustered columnstore index is already created? If my table conta...

 
@jadarnel27 looking at this: brentozar.com/pastetheplan/?id=r1_XZUrOm
actual rows isn't 0
but I don't know what I'm looking at, and it's a very lengthy questoin
@sp_BlitzErik that is ridiculously broad and I don't know anything about encryption
if data is encrypted before compression the columnstore is likely a horrible idea
 
3:03 PM
@JoeObbish right but part 1 of the answer doesn't mention anything about key incompatibility with ccis
anyway
 
@JoeObbish actual rows from the main table is 0. Actual rows from the history table is not, which is expected.
@JoeObbish in short, the docs say that you can eliminate accesses to the main table by using CONTAINED IN, and the OP was confused by seeing the main table in the execution plan.
 
@sp_BlitzErik he's on 2016 though?
 
ah n/m
 
@sp_BlitzErik is the "actual rows: 0" because of the predicate in the scan? I'm just confused why there are 0 logical reads but 4 executions of the scan operator. Wouldn't it have to read the pages to check the predicate, or is that not how reads work?
 
i'm not sure how base and history tables interact here tbh
 
3:09 PM
That's fair. I doubt anyone in here is actively using temporal tables.
 
never touched them
man, I am getting killed on MAXDOP 1 scheduling
 
Have you ever seen that filter predicate before? '2018-09-11 14:18:51.35'=sysmaxdatetime((2))
Nothing comes up when I Google sysmaxdatetime.
 
don't know what sysmaxdatetime((2)) is
 
Except some crazy site that appears to have the SQL Server source code.
 
sounds legit
it's likely just an internal function
but specific to temporal tables
 
3:15 PM
That sounds reasonable.
If I run a query against the base table with that same predicate, I get loads of reads. Reads the whole table. Returns zero rows.
 
if you use option recompile do you still get the filter?
 
Yep.
So I guess it is the filter that somehow prevents the query from even trying to read rows out of that table.
 
oh i get it, i think
 
Even though the "Number of Executions" on the scan operator still says 4.
@sp_BlitzErik I'm all ears.
Or eyes.
Whatever.
 
that function is an aggregate; it probably just checks some metadata on the base table to find the highest date
that's probably why it can't be pushed
 
3:24 PM
Oh neat!
<Intrinsic FunctionName="sysmaxdatetime"> - is that how you figured that out? Looking in the plan XML?
 
no
i just guessed
when you see something like that and you can't reference it in your own code, it's intrinsic
 
I can trust the SQLCAT team, right?
 
@JoeObbish i try not to stereotype
 
so here's what planned
we have some MAXDOP 1 stored procedures
we check if we're on the same scheduler as another user process
if so, quit with an error and get a new connection
sigh
 
@sp_BlitzErik Thanks, man.
 
4:32 PM
i think where 1 = 1 got nerfed in a recent cu
this fucker isn't working anywhere anymore
 
@sp_BlitzErik I got 2017 RTM installed
want me to run anything?
 
SELECT * FROM dbo.Users WHERE Reputation = 1000 AND 1 = 1
if you can
 
I don't have the SE database on that instance
 
wakka wakka
 
I'm happy to run something against a temp table or system table
just want a controlled test
 
4:37 PM
maybe in a bit, gotta hustle on this stuff for now
 
no worries, just let me know later if you want me to run something
 
5:01 PM
it's weird, it's only happening in the new 2013 copy
 
User Error detected
 
your mom detected
 
6:04 PM
@JoeObbish @sp_BlitzErik confirmed I'll be at PASS
5
 
NICE
 
@SeanGallardy as in, 100% confirmed?
we went from 0.0000001% to 5% to 100%?
 
@JoeObbish Yes, 100%. I'll have a 1 hour precon and be there all week
 
the fuck is a 1 hour precon
hahaha
 
I dunno, I think it's part of a larger precon
 
6:19 PM
bob's?
 
I believe so
 
neato
 
room topic changed to stop the merry-go-round: 🎈🎉🎈 SEAN IS GOING TO PASS! 🎈🎉🎈 | Gallery, but feel free to request write access if you read SQL Server CU fixes for fun [database-internals] [powershell] [sql-server]
now it's official
@SeanGallardy one of my colleagues will be attending that precon
 
@JoeObbish Woo! I'll have to come to your presentation if I'm not at clinic
 
7:09 PM
yeah, you might miss all those people at the clinic with ag questions ;)
 
7:24 PM
Right?!
 
Lol
That worked! Thank you for taking the time to help. — Ryan 3 mins ago
No vote, no check
What a world
 
> being this impatient
 
UPVOTEDDDDDD!
Ya welcome
 
@jadarnel27 I have goals yo
 
7:48 PM
@PaulWhite is ever vigilant
 
The scourge of comments must be stopped!
 
@sp_BlitzErik It's their right to have you answer questions for free for them and solve their technical problems, didn't you know?
 
@SeanGallardy it's my privilege 😊
@PaulWhite make the comments table read only
 
@sp_BlitzErik then how would I delete them
 
Leave them there as a warning to other comments
 
7:56 PM
Like severed heads on stakes.
 
> System.Data.SqlClient.SqlException: There is insufficient system memory in resource pool 'default' to run this query.
That's getting annoying.
 
Have you tried adding memory?
 
@SeanGallardy collusion detected
 
@sp_BlitzErik I have not.
 
There you go
 
8:06 PM
The thing that's annoying is that I only get this error when running the app on my laptop, and there's always plenty of available memory when I get it. And it only happens when I am querying in-memory tables.
 
nothing I can troubleshoot, sorry
 
Interesting
 
@JoeObbish no worries.
There's a note in the docs that I thought would be helpful:
> If you get the error message...when the available physical memory is sufficient to allocate the page, it may be due to a disabled Resource Governor. When the Resource Governor is disabled MEMORYBROKER_FOR_RESERVE induces artificial memory pressure.

To resolve this you need to enable the Resource Governor.
So I ran "alter resource governor reconfigure" but the problem persists.
The error is also extremely intermittent.
Anyway I'm just venting.
 
what's max server memory?
 
If I run the query a second time, it works.
@JoeObbish default (2147483647).
 
8:14 PM
oh
I would try setting it
 
@JoeObbish Sure, I'll give that a shot. What's your reasoning?
 
never trust sql server
if I was in your situation, I'd leave min at 0, and keep lowering max until the problem went away
might not help
never worked with in-memory
 
sql server is a junkie and memory is its grandmother's jewelry
 
@JoeObbish good advice.
Alright, it's see. We'll see how it goes 🤷‍♂️
@sp_BlitzErik LOL
 
8:31 PM
@JoeObbish is there anything that batch sort specifically fails terribly at?
 
@sp_BlitzErik most parent operators
did you read the KB that Paul linked about it?
 
no, i think i missed it
 
Did you guys know that highlighting a bunch of lines in SSMS and pressing ctrl+k+c comments all of them out? HTH.
 
@jadarnel27 check out what happens when you hit delete
 
@sp_BlitzErik it deleted my query.
 
8:36 PM
solved your memory problems
 
@jadarnel27 What version and build are you on?
 
@sp_BlitzErik It was almost too easy.
@PaulWhite v17.8.1 - 14.0.17277.0
Although I think that's been around a while.
 
> making me look it up
 
Oh wait.
Haha I thought you were asking about the ctrl-k, c thing with SSMS.
 
Far out.
I went to all the trouble of linking my message and everything.
What version and build of SQL Server?
 
8:39 PM
@PaulWhite 13.0.5081.1 (SQL Server 2016 SP2)
So I'm missing a few CUs I suppose. But not terribly far behind.
 
@PaulWhite I am not. Just the default and internal pools on my local instance.
 
@sp_BlitzErik yes
that is the extent of my knowledge about it
 
8:54 PM
@PaulWhite I've read that post before, but for some reason I read it more as a recommendation than a mandate. On a second reading, it feels more like "things will break if you don't do this."
Although I'm still puzzled why I don't see these errors in production.
 
@jadarnel27 Yeah if you want any certainty/control at all, you really need to bind Hekaton to a resource pool.
I hit issues even just playing around with it.
As I recall the defaults are different for "low end" and "high end" machines, which probably explains the test/prod difference?
 
@PaulWhite Haha you would think, but no.
They are both considered low end as far as Hekaton is concerned.
 
Same amount of memory?
 
@PaulWhite Yep.
 
Have you tried running sp_BlitzInMemoryOLTP
 
9:04 PM
ooh yeah
look in the error log at startup
or search through for high end/low end
 
@PaulWhite Actually, no I haven't. I forgot that was a thing.
 
5 mins ago, by jadarnel27
They are both considered low end as far as Hekaton is concerned.
 
i just got out of the shower and don't have my glasses on
newest messages only
 
@jadarnel27 But yeah anyway, I think you have some work ahead of you, and a dedicated pool is the way to go
@sp_BlitzErik That is a mental image I did not need
 
> 4/30/2018 1:01:30 AM In-Memory OLTP initialized on lowend machine.
 
9:06 PM
i am dressed otherwise
 
That message isn't very welcoming.
 
you sick fiend
 
Also man, this server has been up for a while.
Good job, AGs.
@PaulWhite Thanks for the discussion on this, I really appreciate it.
 
Also since when was lowend a word
@jadarnel27 The invoice is in the mail
 
@jadarnel27 "In-Memory OLTP initialized on highend machine."
HtH
 
9:09 PM
all caps?
 
@PaulWhite can you just add it to my tab?
 
i'm giving up flat bench to squat a 3rd day, ama
 
@JoeObbish fancypants.
I ran 8 miles on my lunch break today. I'm very tired.
 
Well that was silly.
 
It really was.
 
10:11 PM
@jadarnel27 Added some details in an edit.
2
A: Why we need to optimize CONTAINED IN clause of FOR_SYSTEM TIME using check constraint?

jadarnel27I think the execution plan is a bit misleading here. If I create a temporal table: CREATE TABLE dbo.ThisIsJustATest ( [Id] int NOT NULL PRIMARY KEY CLUSTERED IDENTITY(1,1) , [Junk] nvarchar(2048) NOT NULL , [ValidFrom] datetime2 (2) GENERATED ALWAYS AS ROW START , [ValidTo] datet...

I would add a reference for that parallel startup filter thing, but it was on Connect.
@SeanGallardy Might be able to get the text of it, but the really useful stuff was in the comments.
> Status: Closed, Resolution: By Design, 12 Up-Votes, 1 Down-Vote, 0 validations, 1 workaround, 8 comments, feedback id: 757383
repro:
USE StackOverflow;

DECLARE @UserID integer = NULL;
SELECT U.*
FROM dbo.Users AS U
WHERE @UserID IS NOT NULL
AND U.DownVotes > 10;
Add OPTION (MAXDOP 1) to see the number of executions change to zero: brentozar.com/pastetheplan/?id=BJSRlaSOX
- ends -
 
10:30 PM
@jadarnel27 friend of yours? dba.stackexchange.com/questions/217317/…
 
I kicked ass today
 
10:46 PM
@PaulWhite whoa, thanks! I didn't know that's what "startup expression" meant, although I suspected. And I had no idea about the parallel plan quirk thing.
 
tab++;
 
Haha v. fair
 
Feel free to edit further. I did my best to make the edit flow, but I might have missed something.
 
@sp_BlitzErik lol
Seems like a pretty bad idea.
Also his server is bigger than mine.
Might even be highend
@PaulWhite sure thing. It looked good at a glance, but I'll take another look after I get my kid to bed.
 
iirc highend is 16 schedulers
or maybe 16 physical cores
 
10:57 PM
16 schedulers and 128GB RAM
 
@PaulWhite i'm still lowend :'(
works perfectly. Thanks a lot — db100 4 mins ago
 
Actual storage speed when starting up also feeds into some auto configuration
 
00:00 - 23:0023:00 - 00:00

« first day (223 days earlier)      last day (466 days later) »