Paul S. Randalhttp://www.sqlskills.com/blogs/paul
In Recovery...Tue, 24 Feb 2015 22:04:31 +0000en-UShourly1http://wordpress.org/?v=3.9.3Monkeys and bananas: stifling innovation in the workplacehttp://www.sqlskills.com/blogs/paul/monkeys-bananas-stifling-innovation-workplace/?utm_source=rss&utm_medium=rss&utm_campaign=monkeys-bananas-stifling-innovation-workplace
http://www.sqlskills.com/blogs/paul/monkeys-bananas-stifling-innovation-workplace/#commentsMon, 23 Feb 2015 22:50:30 +0000http://www.sqlskills.com/blogs/paul/?p=4476The story I wrote for our SQLskills Insider newsletter on Monday last week resonated so well with people that I thought I’d publish it here on my blog too (which I only do rarely). I try to mix things up in the newsletter so it’s not all about SQL Server technical matters; people seem to […]

]]>The story I wrote for our SQLskills Insider newsletter on Monday last week resonated so well with people that I thought I’d publish it here on my blog too (which I only do rarely). I try to mix things up in the newsletter so it’s not all about SQL Server technical matters; people seem to really like career topics too. You can sign up for the bi-weekly newsletter here (and get all the 100 past issues too) – more than 12,000 people get it now!

Here’s the story, from the newsletter section I call Paul’s Ponderings. Enjoy!

Last week Jonathan pointed me at an interesting story about a psychology experiment involving monkeys and bananas and the reinforcement of constrained, negative thinking. The experiment actually never happened, but the story is quite illustrative. You can see a graphic of the story here: http://i.stack.imgur.com/MyQki.jpg (totally safe for work), and I’ll paraphrase quickly below:

A group of monkeys are trained to know that if any one of them attempts to climb a stepladder with a banana at the top, cold water is sprayed on all of them (i.e. temptation is prevented by the spraying of cold water, so the group prevents any individual from trying to get the banana).

When a new monkey is introduced, and tries to get the banana, all the other monkeys prevent it as they don’t want to be sprayed with water. The new monkey learns that it can’t get the banana.

Eventually all the monkeys are replaced, and they all know not to try to get the banana, but none of them know why, as they’d only been told not to get the banana by the others.

It’s a really interesting story of how conditioning can become groupthink (even if the experiment didn’t actually happen).

There are obvious parallels in human society, and specifically in the work environments of many of you reading this newsletter. Let me explain:

A new person (A) joins a team. The new person has a great idea for how to do something differently/better, and everyone else on the team prevents them from expressing their opinion because that won’t be allowed, it won’t work, and/or they could get into trouble (e.g. from an intransigent and influential boss/architect/senior developer).

Eventually all the original people leave the team and it’s only A and the people who joined the team after A that are left. They all have the ingrained knowledge that they can’t try anything new, or try a specific technology because they won’t be allowed to etc.

In other words, being constrained to incumbent technologies and methodologies becomes “the way it’s done around here, because it’s always been that way.” It doesn’t matter if the wider world knows that’s maybe not the best way to do it, the historical groupthink wins out.

We see this with new clients over and over, and it can be really difficult to educate the client team as to different (usually better) ways of approaching a problem. Sometimes it’s just one person who stymies all thoughts of innovation or change in the team, and sometimes it’s the collective groupthink that does it.

In fact, there was a client (years ago), that Kimberly actually “fired” because of this. One meeting was enough but she told her contact (“the management”) that she’d try again and meet again for a second session. In her post-mortem with management, her main quote was – your problems are more than technical (specifically person “X”) and until that’s resolved, I can’t help you.

Here are some simple examples of ingrained behavior we’ve seen and corrected:

Always use NOLOCK to work around blocking and deadlocking problems (and then it’s used everywhere, and no one even realizes the negatives)

Only ever rebuild an index to remove fragmentation, without considering FILLFACTORs or trying to reorganize rather than rebuild

Always use a heap and never use a clustered index because heaps are faster

When creating a primary key, always use a clustered index as that’s the default so Microsoft must know that’s always the right way to do it

For each column that’s used in a WHERE clause, create a single-column nonclustered index

Always use OPTION (RECOMPILE) to prevent plans being put into the plan cache and taking precious memory away from the buffer pool

Always use sp_executesql to put a plan into cache for ad hoc statements so that their plans get reused

Always create one file per processor core for tempdb, because that was the Microsoft guidance for SQL Server 2000

As I hope you can see, these are all very blinkered (and in some cases downright wrong) views on a variety of SQL Server topics. There are cases when some of these are the right thing to do, but not ALL the time just because ‘that’s the way we do it here’.

Does this remind you of anywhere? Or of anyone?

It’s a dangerous way for a team to work because it can lead to all kinds of problems (such as poor performance, failed disaster recovery, good people leaving the team, business failure) that can be extremely hard to fix unless someone takes a stand or someone from outside the team helps to break the impasse. And even then, it’s a delicate process to provide education and slowly change the thinking of the team, or of that one person who dominates the team’s thinking.

Call to action: Consider the environment you work in and whether the situation described above is how your team operates. Are you the person to take the stand to try to change the groupthink? Do you do it or do you move on? Or are you the person who’s unreasonably dominating the team’s thinking? Do you allow yourself to be changed or continue in your intransigence? It’s a difficult situation to recognize you’re in, whatever your role is, and a hard choice to decide what to do about it.

]]>http://www.sqlskills.com/blogs/paul/monkeys-bananas-stifling-innovation-workplace/feed/5Mentoring: the Class of 2015http://www.sqlskills.com/blogs/paul/mentoring-class-2015/?utm_source=rss&utm_medium=rss&utm_campaign=mentoring-class-2015
http://www.sqlskills.com/blogs/paul/mentoring-class-2015/#commentsMon, 16 Feb 2015 19:11:08 +0000http://www.sqlskills.com/blogs/paul/?p=4474A couple of weeks ago I kicked off a competition of sorts, to find some people to mentor to celebrate the community voting me “Person You’d Most Like to be Mentored By” in the annual Redgate Tribal Awards. If you remember my terms, all someone had to do to be considered is write a blog post […]

]]>A couple of weeks ago I kicked off a competition of sorts, to find some people to mentor to celebrate the community voting me “Person You’d Most Like to be Mentored By” in the annual Redgate Tribal Awards.

If you remember my terms, all someone had to do to be considered is write a blog post and post a link (and the link had to work!). Below is the list of everyone who qualified, with links to their posts, in the order they were received.

I said I’d read through the blog posts and pick three men and three women to mentor over the next couple of months.

How could I figure out who to pick? Is X more worthy than Y? Would A benefit more than B? Who am I to judge that?

So…….

EVERYBODY WINS!

Yes, I cheated a bit. I had no intention of trying to arbitrarily pick someone over someone else – that would just leave people disappointed. So I told myself that I’d mentor anyone who was motivated enough to write a blog post and submit it for consideration. That was the first test.

Yup. I’m going to mentor all 54 people on the list. And I’ll spread it out over the rest of the year, rather than trying to do it all in the next two months. Yes, it’ll take a bunch of my time, but it’ll be fun.

The second test for all the people on the list is that they have to send me an email using the link in this post, from a non-work email address (as we’ll end up discussing your work probably), by the end of February. You don’t need to say anything in the email – I just need an email address to contact you to kick things off.

Congratulations to everyone on the list!

(Hopefully this will work out really well and maybe I’ll do something similar next year)

]]>http://www.sqlskills.com/blogs/paul/mentoring-class-2015/feed/20Physical securityhttp://www.sqlskills.com/blogs/paul/physical-security/?utm_source=rss&utm_medium=rss&utm_campaign=physical-security
http://www.sqlskills.com/blogs/paul/physical-security/#commentsTue, 10 Feb 2015 21:22:51 +0000http://www.sqlskills.com/blogs/paul/?p=4472This month’s T-SQL Tuesday (hosted by Kenneth Fisher – @sqlstudent144) is about security This hasn’t been my area of expertise for a long time, although I did write a long TechNet Magazine article about common security issues and solutions back in 2009. There’s a huge amount that’s been written about implementing security in SQL Server and Windows – working towards […]

There’s a huge amount that’s been written about implementing security in SQL Server and Windows – working towards the security of the data while it’s in the database, being sent to the client application, and within the client application. This can be incredibly important for your business and your clients and so the focus there is justifiable.

However, I think there’s an aspect to data security that’s often completely overlooked: physical security.

Consider the infrastructure in your environment, and ask yourself the following questions:

Are the servers running SQL Server physically secured so only authorized people have access to them? I’m not just talking about whether someone can walk out with a server under their arm (and then get the hard drives with the data on – the actual server hardware isn’t a physical security risk if there is no data storage in it), although this is something you should consider. I also want you to consider whether an unauthorized person can walk up to such a server and insert a USB drive that could have an auto-run program on it that installs some kind of security hole.

And what about if the server has server-local storage? An unauthorized person could grab a hard drive from a server and clone it really quickly, maybe overnight so no-one’s available onsite to see why the server went down. Here‘s a link on Amazon to a machine we use for quickly cloning laptop hard drives when we upgrade them. Really useful, but also useful in the hands of someone with nefarious aims.

Are the storage arrays where the data resides physically secured so only authorized people have access to them? And what about the routers? Here is a thread from the Dell support forums about making an MD3000i password reset cable from scratch. You don’t want someone to be able to physically reset the password on some storage array, and then make a connection to it from an unauthorized server on the network and gain access to the data on the drives. And then there’s the question of someone just popping out some of the drives and walking away with them…

Are there cameras monitoring all of the above?

For the questions above, now ask them about your failover data center. And what if you data center is hosted? Does the hoster guarantee physical security of your data?

Now let’s think about your admin users. What kind of physical security protects the desktops of the people with secure access to the data? Is it possible for them to walk away and leave their screen unlocked? Is it possible for someone to walk up to their computer and plug in a USB drive with some auto-run software on it?

Now let’s think about your admin users’ laptops. Same questions as above. What about if they take their laptops home? Or they use their own systems at home? Are they physically secured so someone can’t access your data from these people’s systems?

]]>http://www.sqlskills.com/blogs/paul/physical-security/feed/4Want to be mentored by me?http://www.sqlskills.com/blogs/paul/want-mentored/?utm_source=rss&utm_medium=rss&utm_campaign=want-mentored
http://www.sqlskills.com/blogs/paul/want-mentored/#commentsThu, 29 Jan 2015 19:33:19 +0000http://www.sqlskills.com/blogs/paul/?p=4469Every year Redgate hands out a series of Tribal Awards, voted for by the SQL Server community around the world. In the 2013 awards I won the “Most Authoritative Voice” category (I think just because I’m very tall and have a deep voice :-) and in the 2014 awards, announced a few weeks ago, I won the […]

]]>Every year Redgate hands out a series of Tribal Awards, voted for by the SQL Server community around the world. In the 2013 awards I won the “Most Authoritative Voice” category (I think just because I’m very tall and have a deep voice :-) and in the 2014 awards, announced a few weeks ago, I won the “Person You’d Most Like to be Mentored By” category.

Cool! I like to mentor people and that’s one of the most enjoyable parts of managing teams, both when I was at Microsoft, and my team here at SQLskills.

Given that you all voted for me, I’m going to give you the opportunity to be mentored by me. I’ll mentor up to three men and three women during March and April to help with career guidance, skills growth, or whatever I can help you with (disclaimers: I do all mentoring over email – asynchronicity rules! I reserve the right to change the mix of mentees if I’m short on applicants.).

How do you qualify? Write a blog post explaining why you should be mentored, and then post a link to your post as a comment on this post (it won’t appear right away as comments are moderated due to the amount of spam comments).

Don’t make the post about me, make it about you. I already know about me :-)

You’ve got until Sunday 15th February at 23:59:59 PST. I’ll pick the winners based on my sole judgment and announce them on Monday 16th February. I don’t care who you are, where you are, who you work for, or how good your English is; you have an equal chance of being picked as anyone else. It’s all down to the blog post.

Note: the contest is over, please do not submit any further entries.

Have fun!

PS So far people are focusing on what they know about SQL Server. I’m not going to teach you what I know about SQL Server in two months – that’s what my blog and training materials are for – but I could help you figure out *how* to learn more, if that’s really the most important thing in your career that you need help with. A blog post about what you do and have done with SQL Server tells me nothing about you or what you want to get out of being mentored….

PPS Remember that mentoring means you working to figure out what you need help with first of all – if you can’t tell me what you need help with (and I’ll provide a whole bunch of suggestions) then there’s nothing I can do…

PPPS Mentoring (as far as I’m concerned) isn’t about firing off a bunch of questions about day-to-day SQL Server problems you’re having – that’s not what I’ll help you with…

]]>http://www.sqlskills.com/blogs/paul/want-mentored/feed/88Important change to VLF creation algorithm in SQL Server 2014http://www.sqlskills.com/blogs/paul/important-change-vlf-creation-algorithm-sql-server-2014/?utm_source=rss&utm_medium=rss&utm_campaign=important-change-vlf-creation-algorithm-sql-server-2014
http://www.sqlskills.com/blogs/paul/important-change-vlf-creation-algorithm-sql-server-2014/#commentsTue, 06 Jan 2015 23:27:17 +0000http://www.sqlskills.com/blogs/paul/?p=4467Since SQL server 2014 was released back in April last year, there have been some rumblings about changes to how many VLFs are created when the log is grown or auto-grown (I’ll just say auto-grown from now on, as that’s the most common scenario). I experimented a bit and thought I’d figured out the algorithm […]

]]>Since SQL server 2014 was released back in April last year, there have been some rumblings about changes to how many VLFs are created when the log is grown or auto-grown (I’ll just say auto-grown from now on, as that’s the most common scenario). I experimented a bit and thought I’d figured out the algorithm change. Turns out I hadn’t. There was a question on the MVP distribution list last week that rekindled the discussion and we collectively figured out that the algorithm was behaving non-deterministically… in other words we didn’t know what it was doing. So I pinged my friends in CSS who investigated the code (thanks Bob Ward and Suresh Kandoth!) and explained the change.

The change is pretty profound, and is aimed at preventing lots of auto-growth from creating huge numbers of VLFs. This is cool because having too many (it depends on the log size, but many thousands is too many) VLFs can cause all manner of performance problems around backups, restores, log clearing, replication, crash recovery, rollbacks, and even regular DML operations.

Up to 2014, the algorithm for how many VLFs you get when you create, grow, or auto-grow the log is based on the size in question:

I think this is an excellent change and I can’t see any drawbacks from it (apart from that it wasn’t publicized when SQL Server 2014 was released). CSS will be doing a comprehensive blog post about this soon, but they were cool with me making people aware of the details of the change ASAP to prevent confusion.

You might think that it could lead to very large VLFs (e.g. you set a 4 GB auto-growth size with a 100 GB log), and it can. But so what? Having very large VLFs is only a problem if they’re created initially and then you try to shrink the log down. At a minimum you can only have two VLFs in the log, so you’d be stuck with two giant VLFs at the start of the log and then smaller ones after you’d grown the log again. That can be a problem that prevents the log being able to wrap around and avoid auto-growth, but that’s not anywhere near as common as having too many VLFs. And that’s NOT a scenario that the new algorithm creates. (As an aside, you can fix that problem by creating a database snapshot and then reverting to it, which deletes the log and creates a 0.5 MB log with two tiny VLFs… it’s a bugfeature that’s been there since 2005, but it breaks your log backup chain when you do it.)

There’s certainly more that can be done in future around VLF management (e.g. fixing the problem I describe immediately above), but this is a giant step in the right direction.

]]>http://www.sqlskills.com/blogs/paul/important-change-vlf-creation-algorithm-sql-server-2014/feed/20Updated sys.dm_os_waiting_tasks scripthttp://www.sqlskills.com/blogs/paul/updated-sys-dm_os_waiting_tasks-script/?utm_source=rss&utm_medium=rss&utm_campaign=updated-sys-dm_os_waiting_tasks-script
http://www.sqlskills.com/blogs/paul/updated-sys-dm_os_waiting_tasks-script/#commentsMon, 05 Jan 2015 19:12:59 +0000http://www.sqlskills.com/blogs/paul/?p=4466Over the holidays I was playing around with parallelism and updated my sys.dm_os_waiting_tasks script to add in the scheduler distribution of the waiting threads. Here it is for your use. Enjoy! (Note that ‘text’ on one line does not have delimiters because that messes up the code formatting plugin):

]]>http://www.sqlskills.com/blogs/paul/updated-sys-dm_os_waiting_tasks-script/feed/12014 review: the year by the numbershttp://www.sqlskills.com/blogs/paul/2014-review-year-numbers/?utm_source=rss&utm_medium=rss&utm_campaign=2014-review-year-numbers
http://www.sqlskills.com/blogs/paul/2014-review-year-numbers/#commentsWed, 31 Dec 2014 18:22:20 +0000http://www.sqlskills.com/blogs/paul/?p=4462The last post of the year! It’s been a really excellent year all round and time for my traditional post counting down some of the numbers that have been my life this year. 10068445 (roughly): the number of page views across my blog according to Google (up around 9% from 2013) 105881: the number of miles […]

]]>http://www.sqlskills.com/blogs/paul/2014-review-year-numbers/feed/72014: the year in bookshttp://www.sqlskills.com/blogs/paul/2014-year-books/?utm_source=rss&utm_medium=rss&utm_campaign=2014-year-books
http://www.sqlskills.com/blogs/paul/2014-year-books/#commentsTue, 30 Dec 2014 22:07:31 +0000http://www.sqlskills.com/blogs/paul/?p=4448Back in 2009 I started posting a summary at the end of the year of what I read during the year (see my posts from 2009, 2010, 2011, 2012, 2013) and people have been enjoying it, so I present the 2014 end-of-year post. I set a moderate goal of 40 books this year and I managed 53. I wanted […]

]]>Back in 2009 I started posting a summary at the end of the year of what I read during the year (see my posts from 2009, 2010, 2011, 2012, 2013) and people have been enjoying it, so I present the 2014 end-of-year post. I set a moderate goal of 40 books this year and I managed 53. I wanted to get through some of my larger non-fiction books but ended up not doing as many as I thought (reading more, shorter books), and it’s just coincidence that my total works out to about a book per week. Next year I’m setting myself a goal of reading 60 books.

For the record, I read ‘real’ books – i.e. not in electronic form – I don’t like reading off a screen. Yes, I’ve seen electronic readers – we both have iPads – and I’m not interested in ever reading electronically. I also don’t ‘speed read’ – I read quickly and make lots of time for reading.

Why do I track metrics? Because I like doing it, and being able to compare against previous years. Some people don’t understand the logic in that – each to their own :-)

There were several strong candidates for my favorite book this year (including Command and Controlby Eric Schlosser and Reamde by Neal Stephenson) but I’m choosing Natchez Burning by Greg Iles. It’s a fantastic and shocking drama that I knew as I read it that it was the best book I’d read this year. You can read my review of it in the top-10 list below.

Now the details. I enjoy putting this together as it will also serve as a record for me many years from now. I hope you get inspired to try some of these books – push yourself with new authors and very often you’ll be surprisingly pleased.

Once again I leave you with a quote that describes a big part of my psychological make-up:

Analysis of What I Read

I read 28407 pages, or 77.8 pages a day, and a book every 6.9 days or so. The chart below shows the number of pages (y-axis) in each book I read (x-axis).

The average book length was 536 pages, almost 100 pages longer than last year. Quite interestingly, I dropped travel and history this year in favor of non-fiction books, which was my goal. Fiction and historical fiction were the same as last year, and sci-fi was almost double.

The Top-10

I read a lot of really good books this year, but I didn’t struggle to get to a top-10 as I had in previous years. If you don’t read much, at least consider looking at some of these in 2015. It’s impossible to put them into a priority order so I’ve listed them in the order I read them, along with the short Facebook review I wrote at the time.

#7 Command and Control; Eric Schlosser; 640pp; Non-Fiction; February 16; (Absolutely excellent history of US nuclear weapon control (or lack of it), accidents involving US nuclear weapons, and US nuclear strategy from the 40s to the 80s. Really shocking how close the US came to an accidental nuclear detonation several times. it also covers the Damascus accident in great detail, along with the almost laughable ineptitude of the Air Force and SAC in dealing with it. There are very comprehensive notes and sources, which actually led me to buy another 15 or so books over the last two weeks on related topics. Highly recommended – excellent book.)

#9 Line War; Neal Asher; 566pp; Science Fiction; February 27; (This is an excellent finale to the Agent Cormac series, nicely wrapping up all the plot lines and leaving things set for continuations with some of the characters in other books. Hard to say anything else about the book without giving away major spoilers, but plenty of good battles and AI intrigue. Looking forward to reading The Gabble and Technician by him next. Strongly recommended (reading the Agent Cormac series in order).)

#11 The Martian; Andy Weir; 369pp; Science Fiction; March 7; (Really excellent modern-day Robinson Crusoe story about an astronaut accidentally stranded on Mars after a hurried mission abort during a major dust storm. Very believable and no credibility stretching – a brilliant debut from Weir. I cruised through this in about 8 hours. Highly recommended and I’m really looking forward to Weir’s second book.)

#14 The Dead Hand: The Untold Story of the Cold War Arms Race and Its Dangerous Legacy; David Hoffman; 608pp; Non-Fiction; March 23; (Really excellent book I picked up while reading Command and Control earlier this year. This book details the hidden Soviet bioweapons programs that existed all the way up to the 90s (anthrax, plague, tularemia, and even smallpox, after it had been eradicate by WHO, for goodness sake!) during the Cold War. The Soviets lied to the world, and Gorbachev and Yeltsin continued to lie after the fall of the USSR in ’91. It also explains the ‘dead hand’ semi-automatic mechanism to allow retaliation by the Soviets after a decapitative nuclear strike against them. Most alarming is the telling of how the a Soviet Union fell apart and left thousands of tons of bioweapons, enriched uranium and plutonium, and nuclear weapons spread across the various republics and Russia without adequate storage, security, and safeguards to stop profiteering and proliferation to rogue states like Iran. Interesting to read about how some parts of the US govt stepped in to buy uranium from Kazakhstan to stop it falling into the wrong hands, and built secure storage for Russia. Well worth reading. Not an alarmist, sensational book at all, but an insightful and level-headed description of what went on. Contains a lot about the transfer of power to Gorbachev, his meetings with Reagan, and his fall from power that I hadn’t read about before either. Strongly recommended.)

#17 The Sunne in Splendour: A Novel of Richard III; 944pp; Historical Fiction; April 26; (Sharon Kay Penman’s novels are excellent historical fiction, meticulously based on actual history. In this book she follows the life of Richard III, steeped in betrayal and treason against both himself and his brother, the earlier Edward IV (with Edward V only reigning for a few months until pronounced illegitimate). In more than 900 pages of small-font, the book is huge and a long, engrossing read. Penman puts the death of the infamous ‘princes in the Tower’ at the hands of the Duke of Buckingham, which makes a lot of sense given that neither Richard nor Henry Tudor (later Henry VII) had both motivation *and* opportunity to do the deed. Altogether a splendid book, and I strongly recommend it for all fans of history.)

#19 The Quarry; Iain Banks; 326pp; Fiction; May 10; (This is the last book that my favorite author of all time, Iain Banks, wrote before he died last year. It’s quite excellent. The dying character is irascible, bitter, and filled with justifiable invective against elements of the world and I have to imagine this is semi-autobiographical. It’s a great story and a fitting final novel. I think I’ll have to go back and re-read Banks’ non-sci-fi books (already read the sci-fi ones several times each). Thanks Iain – RIP.)

#21 Duty: Memoirs of a Secretary at War; Robert M. Gates; 617pp; Non-Fiction; May 25; (This memoir describes Gates’ time as the Secretary of Defense under Presidents Bush (43) and Obama. Gates comes across as someone who really cares about the service men and women under his command (as second in the chain under the president).This is reiterated many times through the book when he describes budget battles to get more equipment, better equipment, the right equipment, unwanted/unneeded equipment cancelled, and more against parochial members of Congress and inexperienced White House staffers. He seems to have been a very, very different SecDef than his predecessor Rumsfeld, whose autobiography I now look back on with a much more negative view. Different how? Nicer is probably the easiest way to say it, just a nicer, more caring person. He looks back several times and wishes he’d handled a situation better and done things differently for the benefit of the troops. He takes personal responsibility for everything that happened on his watch, rather than blaming others (a failing of Rumsfeld.) The book also gives a lot of insight into the workings of the Department of Defense, the largest organization on the planet, with 3 million ‘staff’, and a budget of more than $700 billion in 2011. Altogether a very interesting book and well worth reading. I’m looking forward to reading the memoirs of the presidents and other cabinet members from the last 10-15 years too. Highly recommended.)

#40 D-Day: The Battle For Normandy; Antony Beevor; 608pp; History; September 10; (Absolutely excellent narrative of the D-Day landings and the following several months of fighting up to the liberation of Paris. What seems obvious is that there was incompetence on both sides, especially around Field Marshall Montgomery on the Allied side and Hitler’s incessant micro-management of the German side, that led to greater losses or troops, civilian French, and widespread destruction in Normandy. I’m not a big war-history buff (yet!) but I found this a thoroughly engrossing book rather than just a dry battle chronology. I really liked that way Beevor could conjure up little vignettes of action to highlight interesting points in the wider battlefield. Highly recommended!)

#50 Natchez Burning; Greg Iles; 800pp; Fiction; December 21; (This is easily the best book I’ve read this year, and is fantastic. It’s long, really involved, and deals with a murder case on the Mississippi/Louisiana border. Apparently it’s the fourth in a series about the main character – so I just bought the first three to add to my pile of unread books. The book is centered on the extreme racism in that area in the late 1960s and its continuation in some cases today, and is quite shocking in parts. The writing is superb, with rich characters and excellent dialog. I’m very glad I took a chance on this after seeing it reviewed in the W.S.Journal. Strongly recommended, but definitely not for the faint-hearted.)

The Complete List

And the complete list, with links to Amazon so you can explore further. One thing to bear in mind, the dates I finished reading the book don’t mean that I started, for instance, book #2 after finishing book #1. I usually have anywhere from 10-15 books on the go at any one time so I can dip into whatever my mood is for that day. Some books I read start to finish without picking up another one and some books take me over a year. Lots of long airplane flights help too!

]]>http://www.sqlskills.com/blogs/paul/2014-year-books/feed/8Christmas Eve RunAs Radio show 400http://www.sqlskills.com/blogs/paul/christmas-eve-runas-radio-show-400/?utm_source=rss&utm_medium=rss&utm_campaign=christmas-eve-runas-radio-show-400
http://www.sqlskills.com/blogs/paul/christmas-eve-runas-radio-show-400/#commentsWed, 24 Dec 2014 21:01:24 +0000http://www.sqlskills.com/blogs/paul/?p=4447Last week we joined our wonderful friend (he MC’d our wedding in 2007) Richard Campbell for RunAs Radio show #400, where we jet-laggedly discuss all kinds of stuff, even occasionally getting technical! You can download it here. Enjoy and Happy Holidays! PS We also did the 200th show back in 2011 – see here.

]]>Last week we joined our wonderful friend (he MC’d our wedding in 2007) Richard Campbell for RunAs Radio show #400, where we jet-laggedly discuss all kinds of stuff, even occasionally getting technical!

]]>http://www.sqlskills.com/blogs/paul/christmas-eve-runas-radio-show-400/feed/0SQLskills hires all-round SQL expert Tim Radneyhttp://www.sqlskills.com/blogs/paul/sqlskills-hires-round-sql-expert-tim-radney/?utm_source=rss&utm_medium=rss&utm_campaign=sqlskills-hires-round-sql-expert-tim-radney
http://www.sqlskills.com/blogs/paul/sqlskills-hires-round-sql-expert-tim-radney/#commentsFri, 19 Dec 2014 15:59:53 +0000http://www.sqlskills.com/blogs/paul/?p=4445It’s hiring time again, as our consulting volume has reached the point where we need more help on our close-knit, expert team! Specifically, we’ve asked well-known SQL expert and MVP Tim Radney to join us and we’re extremely pleased that he accepted our offer. He’ll bring our team up to seven people when he starts with […]

]]>It’s hiring time again, as our consulting volume has reached the point where we need more help on our close-knit, expert team!

Specifically, we’ve asked well-known SQL expert and MVP Tim Radney to join us and we’re extremely pleased that he accepted our offer. He’ll bring our team up to seven people when he starts with us on Monday, January 19th, bringing a wealth of experience and knowledge to the team. You can reach him at tim@SQLskills.com.

I’ve known Tim for years (a prerequisite for working here) and he’s a huge contributor to the SQL Community: on Twitter (@TRadney), on his blog (here), as a frequent speaker at user groups, SQL Saturdays, and PASS Summits, as the Chapter Leader for the Columbus, GA SQL Server User Group, and as PASS Regional Mentor for the SE USA. Wow! Tim was also named a PASS Outstanding Volunteer in 2012 in recognition of all that he does.

Tim’s been working with SQL Server for 15 years, in a variety of roles including DBA, Lead DBA, and multi-department manager, which have given him expertise in areas like HA/DR, virtualization, SSIS, SSRS, and performance tuning, among everything else SQL Server-related. As a manager, Tim’s gained extensive experience planning and implementing large-scale environment changes and upgrades, which will be invaluable for working with some of our larger Fortune 20-100 clients.

Outside of SQL Server, Tim is married with three kids and also shares my passion for electronics and messing around with a soldering iron. He also farms chickens and tilapias in his spare time!

Tim is an excellent addition to our world-class consulting team and we’re very excited that he’s coming on board – welcome!