Programming Microsoft SQL Server 2012 (Leonard Lobel and Andrew Burst; Microsoft Press) is an excellent book if you want to learn the ins and outs of SQL Server. The book is meticulous when it comes to explaining SQL Server features. Much of this is because of the elaborate examples and the detailed explanation of what’s going on. This attention to detail is however both its strength and its weakness. If you already know about database development, you already know much of what is being explained. For instance, you already know what transactions are for and how they work. Explaining the subject as if you’ve never seen a database feels a little overdone. This is also where the book is a little ambiguous. The chapter that deals with T-SQL, only covers the newer T-SQL statements, so you are expected to have prior knowledge. Of course finding the right balance is hard, and this is a good book regardless. It just means that if you already know the topic, you can just skip to where the content is new. It also means that the book is an excellent reference. In fact, reading this book from beginning to end might not be the best use. Explore it for new features, and then keep it around.