September 2009 - Posts

SQLBits is not around to make moeny, its here to build the SQL Community. What that means is that when start to cover our costs then there is no point in charging people more. We've reached that point and so what we've done is push back the end of the early bird to the end of October.

This means that if you need a little longer to convince your bos you should go to the best SQL Server conference around then you now have 4 more weeks.

I look forward to seeing you all there and hope you can convince your boss its well worth your while. It must be the best value training you can get for SQL Server.

Oh and if you can't get your Boss to open his wallet then don't forget it's still free to come on the Saturday.

Posted by simonsabin | 1 comment(s)
Filed under: ,

If you are umming and ahhing about registering for SQLBits. Get in quick as the early bird ends on Wednesday.

If you are going to the Data Management Conference today then I will see you there and if you are lucky ther migth be some interesting giveaways with regards to SQLBits. So come and see us, I think a group of us will be in an "Ask the experts" type area.

Oh and don't forget to get your pictures for the SQLBits mugshot competition. We will be deciding on the winner at our committee meeting tonight (Tuesday). There have been some great entries so far.

Posted by simonsabin | 1 comment(s)

This error occurs when you try and populate a table using the OUTPUT clause AND the target of the main statement has a trigger on it.

Shame, currently I don't know of any work around. BOL clearly states that you can't have triggers and populate an table from the OUTPUT clause.

Posted by simonsabin | 1 comment(s)

Just a gentle reminder that if you are considering coming to SQLBits then you need to register and pay by next Wednesday in order to get the £100 early bird discount.

Don't forget that if you book 6 places on the full conference then you get a 20% discount.

The numbers are looking good so it will be another great SQLBits.

Also don't forget the Mug Shot competition for a chance to win a free ticket and accomodation for the whol conference. The entries are building up, but there is still a great chance to win.

Posted by simonsabin | 2 comment(s)

If you've been considering going to SQLBits and looked at hotel prices for the Celtic Manor. You might have found the Thursday or Friday night cheaper using laterooms etc. The Hotel have kindly agreed to match the price on these sites as long as they have allocation left. Whats more if you've already booked and said you are coming to SQLBits then your room price should have been reduced.

So now you can get a superior double inc breakfast on Thursday and Friday for only £99.

There should be quite a few of us staying in the Hotel so I look forward to seeing you there.

This price will only be available whilst they have allocation so get in quick.

Posted by simonsabin | 1 comment(s)
Filed under:

The following are the questions asked following the query tuning webcast I did with Kevin Kline

If you have any further questions please let me know.

Hue Holleran Asked: Shouldn't the _primary_ objective be to minimise _overall_ server load, ie. reducing logical reads is the most important thing from stats io (followed by CPU from stats time) ?

Simon Sabin Answered : Yes you are correct CPU is also important and SET STATISTICS TIME can provide that. Also sys.dm_exec_requests can also provide the CPU used per request

Neesha Kanji Asked: Could you also save a subquery result set in a temp table and join that on the main query? Would the query be just as quick?

Simon Sabin Answered: Sometimes, however including the join in the query gives the optimiser the option to flatten the query and possibly save reading data multiple times. Often writing as a derived table can be a better solution. Using the temp table can often aid developing the code as its easier to test each section. BUT that doesn't mean you should split up all your queries as that removes the benefits of doing SET based processing.

Phil Pinto Asked: Recommend a performance book, please

Simon Sabin Answered: Personally you need to understand the internals to be able to understand performance. And so the Internals books are good. I learnt using a book from Ken Henderson many years ago so its worth trying his book

Kevin Kline (Qsft) Answered: I also like Kalen Delaney's internals book. If I could only own one SQL Server book, it'd be hers. Itzik Ben-Gan's T-SQL books are also excellent.

Phil Pinto Asked: Thanks for book recommended. Indexes are useful but can be a maintenance overhead if only a very infrequent used query.

Kevin Kline (Qsft) Answered: KK> I also like Kalen Delaney's internal book - in fact, if I could only own one book, Inside SQL Server would be the one.

*** Baker Asked: database query in SSMS (previously QA) allows one do obtain ESTIMATED Query Plan (i.e. Ctrl-L). The question is does the ACTUAL QP always follow that "compile-time" decision strategy, or may it deviate (eg the SET STATISTICS IO ON which is actual after the statement completion)? For example the DEC RdB database (now subsumed into Oracle) would dynamically review several strategies : perhaps pick a simple FAST-FORWARD approach, but might switch to a more complex strategy after some pause (ie jettison the FF workinprogress)

Simon Sabin Answered: The only different between compile and execution time is the parallelism. The engine might decide to remove parallelism and run a non parallel query

Richard Asked: 2008 SSMS suggests missing indexes in Query Plans, regardless of version it is looking at

Simon Sabin Answered: Very good point. Its also worth noting that just because a missing index warning doesn't come up doesn't mean that there isn't a better index option available

Andy Irving Asked: it's only automatic use of indexed views which is EE only, in standard you have to use NOEXPAND hint

Simon Sabin Answered: Very true, often even in EE you need to use NOEXPAND because the indexed view isn't considered until late on in the query optimisation phase

*** Baker Asked: please highlight diff between temp table and temp table variable. can you index a table variable? what about PK (implied CI) perhaps #temp better than @temp for certain cases ? thanks!

Simon Sabin Answered: temp table and table variables use the same structure and are stored in tempdb. Table variables are not in memory structures. Depending on the load of the server either may be held in memory and both are stored on disk. Temp tables don’t have statistics which means that if you join to them you can result in poor query plans. Temp tables do have statistics but that itself can cause problems as it can cause recompilations of your code. You are correct that you cannot create indexes on a table variable, however you can indirectly create them by creating primary key and unique constraints. You can create indexes on temp tables. I generally say that table variables are great for small rows or where you are only going to be scanning from the table variable.


If you are registered on the site you can now vote on the sessions you want to see at the next SQLBits.

Click here to make your vote

ts vital that you vote so that you get the sessions. If you don't we've no idea it you would prefer index tuning or piano tuning.

So please spend some time looking for the sessions you really want to see. If you are coming on Friday and Saturday its even more important you vote as we have some scope to repeat sessions if they are very popular.

So get voting

Posted by simonsabin | 1 comment(s)

Dear SQL Server Widow,

As a partner of a SQL Server Professional, I am sure you may be aware of the quirkily named SQLBits conferences organized in various parts of the country twice each year. Your partner may have disappeared for a weekend and returned enthused and eager to try out the many new things he has learnt, all SQL Server related unfortunately. Up to now this may have been a bit of a chore having to put up with them going on about this, but now that doesn’t have to be the case.

The next SQLBits conference, cunningly called “SQLBits goes West” will be at the luxury Golf and Spa resort, the Celtic Manor. Perfect for a relaxing weekend away.

If your partner books before the 30th September they will save up to £200 on the registration fee. That’s £200 that you could use on one of the Spa Experience days provided by the resort. You could just choose your own combination from the range of therapies, massages, holistic treatments on offer; including the Rasul Mud Ritual, Dry Floatation and Hydrotherapy, Facials, Manicures and Pedicures.

So make sure they signs up at so you can get treated to the relaxing weekend you are entitled to at one of the top Health Spas in the UK.

Yours faithfully,

SQLBits Committee

Posted by simonsabin | with no comments
Filed under:

If you want a free trip to SQLBits then you;ve got 1 extra week to submit entries. We've only got 5 entries so far and so the chance of winning is very high.

To have a look at the current entries and submit your pictures go to the Mugshot competition page

So far we've got a mug on holiday

and one in a field of cows


Posted by simonsabin | 1 comment(s)

Welcome to two new SQL Bloggers  Steve Simon and Dave Ballantyne

If you want to start blogging them let me know. Either email me if you have my email addres or use the contact form

Happy blogging.

Posted by simonsabin | 1 comment(s)
More Posts Next page »