Start reading Expert SQL Server 2005 Development on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.

Deliver to your Kindle or other device


Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Expert SQL Server 2005 Development

Expert SQL Server 2005 Development [Kindle Edition]

Adam Machanic , Lara Rubbelke , Hugo Kornelis
5.0 out of 5 stars  See all reviews (1 customer review)

Print List Price: £39.49
Kindle Price: £31.68 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £7.81 (20%)
* Unlike print books, digital books are subject to VAT.

Free Kindle Reading App Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.

To get the free app, enter your e-mail address or mobile phone number.


Amazon Price New from Used from
Kindle Edition £31.68  
Paperback £33.35  
Kindle Daily Deal
Kindle Daily Deal: Up to 70% off
Each day we unveil a new book deal at a specially discounted price--for that day only. Learn more about the Kindle Daily Deal or sign up for the Kindle Daily Deal Newsletter to receive free e-mail notifications about each day's deal.

Product Description

Product Description

While building on the skills you already have, Expert SQL Server 2005 Development will help you become an even better developer by focusing on best practices and demonstrating how to design high–performance, maintainable database applications.

This book starts by reintroducing the database as a integral part of the software development ecosystem. You’ll learn how to think about SQL Server development as you would any other software development. For example, there's no reason you can’t architect and test database routines just as you would architect and test application code. And nothing should stop you from implementing the types of exception handling and security rules that are considered so important in other tiers, even if they are usually ignored in the database.

You’ll learn how to apply development methodologies like these to produce high–quality encryption and SQLCLR solutions. Furthermore, you’ll discover how to exploit a variety of tools that SQL Server offers in order to properly use dynamic SQL and to improve concurrency in your applications. Finally, you’ll become well versed in implementing spatial and temporal database designs, as well as approaching graph and hierarchy problems.

About the Author

Adam Machanic is a database-focused software engineer, writer, and speaker
based in Boston, Massachusetts. He has implemented SQL Server for a variety
of high-availability OLTP and large-scale data warehouse applications and
also specializes in .NET data access layer performance optimization. He is
a Microsoft Most Valuable Professional (MVP) for SQL Server and a Microsoft
Certified Professional. Adam is coauthor of Apress's highly successful Pro
SQL Server 2005.

Product details

  • Format: Kindle Edition
  • File Size: 4471 KB
  • Print Length: 472 pages
  • Publisher: Apress; 1 edition (21 May 2007)
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • ASIN: B001D20VPS
  • Text-to-Speech: Enabled
  • X-Ray:
  • Word Wise: Not Enabled
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: #1,072,518 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?

More About the Authors

Discover books, learn about writers, and more.

Customer Reviews

4 star
3 star
2 star
1 star
5.0 out of 5 stars
5.0 out of 5 stars
Most Helpful Customer Reviews
5.0 out of 5 stars Essential Reading 21 Dec. 2010
This is on the reading list for MCM SQL 2008, so Microsoft consider it essential reading for SQL 2008 developers despite being based on SQL 2005.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 4.9 out of 5 stars  11 reviews
15 of 16 people found the following review helpful
5.0 out of 5 stars Off the beaten path - getting serious about SQL Server architecture and design solutions 8 Jun. 2007
By Joseph I. Sack - Published on
Although this book has "expert" in the title, I think readers of all skill levels will benefit from it. It earns the title by talking about the art and science of database design and architecture and by covering the intricacies of various topics. The first few chapters are worth the price of admission alone. Most SQL Server professionals have varying degrees of application design experience, and Adam does an excellent job describing concepts like coupling, cohesion, encapsulation, object-oriented systems, unit testing, and functional testing. Adam espouses the virtue of treating the database as software - which of course it is. Too often is SQL Server treated like a toy or side effect in the development cycle, but then is expected to perform under enterprise class conditions.

By chapter 3, we start moving into SQL Server functional areas. SQL Server books usually fall into two areas - references and narratives. Adam mixes both narrative and reference quite well, detailing real life methods for handling errors and exceptions, understanding proxies, ownership chaining, and encryption methodologies. In the Encryption chapter, be sure to check out the "Securing Data from the DBA" and "Searching Encrypted Data" sections - both very timely topics given the data breach issues with retail companies lately.

This book doesn't tread down the beaten path. Other advanced topics detail SQL CLR architecture and design considerations, SQL CLR security and reliability, dynamic T-SQL versus Ad Hoc, SQL injection, application concurrency considerations, geospatial data by latitude and longitude, working with time zones, and querying hierarchies. The later chapters have the quality of stand-alone white papers. Recommended for SQL Server professionals and architects alike.
18 of 20 people found the following review helpful
5.0 out of 5 stars Review of Expert SQL Server 2005 Development 14 Jun. 2007
By Denis Gobo - Published on
If you are an advanced or intermediate SQL Server developer then this is the book for you. Adam understands real world scenarios and understands that databases are part of a bigger group in the business world. The database is usually the most important asset in an organization. All your data is in the database, you need to secure it, this is where encryption, privilege and authorization comes in. The ratio of web servers to database servers is usually many to one, it is easy to scale out with web servers however with database servers this is not so easy. This is a reason why your code needs to be optimized and designed for application concurrency.

I recommend this book to any intermediate or advanced SQL Server developer. This book is not a book that is like the other book you have but 2 chapters are different. NO, this book contains a lot of good info which is not available in other books. I learned a lot from reading this book and you will too. Here is the breakdown of what is covered in the chapters.

Chapter 1 Software Development Methodologies for the Database World
Adam explains what Cohesion, Coupling and Encapsulation is, where the business logic should live and the balance between maintainability, performance, security and more.

Chapter 2 Testing Database Routines
This chapter is worth the price of the book by itself. You will learn how to unit test your procedures, evaluate performance counters and this chapter introduces the SQLQueryStress Performance Tool (see picture below) which will be used in other chapters. This is a very useful tool if you have to tune a query. How many times do you set statistics time and statistics IO on and off to see the reads and CPU time? This tool does it all for you, paste in your query or proc call, specify how many times you want to run it that is it. This tool will save you many stressful (pun intended) hours

Chapter 3 Errors and Exceptions
This chapter explains the different type of exceptions and how to do error handling. You will also find out what a `doomed transaction' is, this is the one where you get this user friendly message: "The current transaction cannot be commited and cannot support operations that write to the log file. Roll back the transaction."

Chapter 4 Privilege and Authorization
This chapter explains what impersonation and ownership chaining is. Also covered is how to use EXECUTE AS and how to sign procedures.

Chapter 5 Encryption
This chapter will explain encryption to you in a clear and concise matter. You will learn how to improve performance by using Message Authentication Code. The difference between symmetric and asymmetric key encryption is covered as well as all the terminology that is needed to really understand encryption.

Chapter 6 SQLCLR: Architecture and Design Considerations
What this chapter covers is SQLCLR security, why to use SQLCLR and how to enhance Service Broker Scale-Out with SQLCLR

Chapter 7 Dynamic T-SQL
You want to protect your data? Then this is something you have to read. You will learn how to deal with sql injection, why sp_executesql is much better than exec and the performance implications of parameterization and caching.

Chapter 8 Designing Systems for Application Concurrency
If you are running an OLTP system and you are suffering from blocking/locking then this is the chapter for you. Isolation levels and how they affect concurrency is explained. This chapter uses the SQLQueryStress Performance Tool to show you the difference it makes in performance when you slightly change your proc.

Chapter 9 Working with Spatial Data
Spatial data, this is what a lot of people are storing these dates, unfortunately calculating the distance between 2 points is not as easy as it seems (the earth is not flat you know ;-( ) This chapter covers a couple of ways to represent Geospatial Data.

Chapter 10 Working with Temporal Data
Dates are everywhere in the database but unfortunately a lot of people do not know how dates are stored internally and how to write efficient queries which will cause an index seek instead of a scan. Calendar tables, time zones and intervals are all covered in this chapter

Chapter 11 Trees, Hierarchies, and Graphs
The difference between Nested Set Model, Persisting Materialized Paths and Adjacency list Hierarchies are explained. There is code included that shows you how to traverse up or down the hierarchy, insert new nodes and much more.
10 of 12 people found the following review helpful
5.0 out of 5 stars A truly remarkable book 18 July 2007
By Hilary Cotter - Published on
There is an old story about three men imprisoned in a dark dungeon. Each day they were given a bowl of food and a spoon to eat with. The darkness eventually drove one of the men mad, and he was no longer able to eat his meal. In the darkness, he had forgotten how to eat with his spoon. Every day, one of the two remaining men patiently taught the madman how to use his spoon to eat his meal. The madman, however, would forget what he'd learned on a daily basis, and would have to be taught anew each day by this fellow prisoner. One day, the prisoner became frustrated with the third man for his complete lack of assistance, and began to lash out at him asking, "Why don't you ever help me?" The third man replied, with an aire of conviction, "I am busy trying to bring light into the dungeon so that we can all see."

Too many books in the technical field just teach us the basics; they help us with our daily lives. In this unique book, Adam (one of the brightest lights in the SQL Server world) teaches us to see the light, to understand SQL Server programming, and revolutionize the way we do our work. In this exceptionally well written book, he consistently explains difficult topics with original explanations and great clarity. At first, I felt that some of his examples (like the ones on concurrency) were incorrect, but over time, I have grown in understanding of just how fitting, appropriate, and accurate they actually are. I find I can no longer speak about concurrency without using Adam's examples. He also presents the definitive arguments on some of the more hotly debated topics in the SQL Server world today: stored procedure use over ad hoc SQL, for example.

Each topic is presented with clear code samples that illustrate his points perfectly.

I truly admire Adam's rhetorical style. Somewhat akin to peeling back layers of an onion, he will present a topic and then, just when you have digested it and added it to your toolbox, he will show you its shortcomings and offer an alternative, more powerful technique. Once you have grasped this new technique, he will present to you a third.

Although this volume is somewhat slim, it is a book that should be read and digested slowly, and continually pondered. My understanding of SQL Server 2005 has been transformed from having read this book; read it and let it transform yours as well!
4 of 4 people found the following review helpful
5.0 out of 5 stars Stuff I did not know 20 Aug. 2007
By Amazon Customer - Published on
Frankly, I was expecting a very SQL Server 2005 specific book. Instead, what we have is a good general RDBMS book that happens to be using SQL Server 2005. Encryption, access control, testing, basic software engineering and exception handling are never touched in SQL programming books -- including my own! The spatial chapters were new to me. The little asides were also worth looking up. Good clean style, great job.
2 of 2 people found the following review helpful
5.0 out of 5 stars Definitely different...great different...but different 16 Oct. 2007
By Louis B. Davidson - Published on
I have read (well, ok, read through or I would post more reviews) quite a few technical books about SQL Server. Where many books follow a very rigid path through a subject, quite often in a very feature driven manner (Here is this command, and you can do this. Next, this command) or process driven manner (First we do this, then we do this...).

This book is very different from that. The title includes the word "Expert" for good reason. This is a book that doesn't assume you know nothing and start from scratch, nor does it try to teach you every knob and switch on all of the SQL commands. It it more about going to the next level and becoming the expert at programming with SQL Server by covering several deep dive subjects that every person needs to make the transition from "Pro" to "Expert".

It has eleven chapters, each of them about a distinct facet of programming SQL Server, from the common stuff you need to do or use right (testing, errors, privilege, CLR, encryption, dynamic SQL and concurrency) to three chapters on really deep applied stuff (spatial data, temporal data, and graphs/trees). Each chapter has some very deep information, and a lot of code that could make you dizzy if you try to ingest it too fast. It is all explained nicely though, and if you take the time to understand the code you will be far better off for it.

I would not suggest this as a book for the casual "I would like to know a bit more about SQL" reader. It is more for the reader who is already good and wants to become a solid professional/expert SQL programmer who know the right way to do things. For that reader it should be on your required reading list.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category