- Paperback: 472 pages
- Publisher: Apress (15 May 2007)
- Language: English
- ISBN-10: 159059729X
- ISBN-13: 978-1590597293
- Product Dimensions: 19 x 2.7 x 23.5 cm
- Average Customer Review: 5.0 out of 5 stars See all reviews (1 customer review)
Amazon Bestsellers Rank:
2,000,994 in Books (See Top 100 in Books)
- #538 in Books > Computers & Internet > Computer Science > Databases > Database Design & Theory
- #903 in Books > Computers & Internet > Software & Graphics > Internet Applications > Web-server Software > Microsoft
- #2188 in Books > Computers & Internet > Computer Science > Programming > Microsoft Windows
- See Complete Table of Contents
Expert SQL Server 2005 Development Paperback – 15 May 2007
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your e-mail address or mobile phone number.
More About the AuthorsDiscover books, learn about writers, and more.
Inside This Book(Learn More)
Top Customer Reviews
Most Helpful Customer Reviews on Amazon.com (beta)
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.
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.
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!
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.
Look for similar items by category
- Books > Computing & Internet > Computer Science > Architecture & Microprocessors
- Books > Computing & Internet > Databases > Applications
- Books > Computing & Internet > Databases > Data Storage & Management > Database Management Systems
- Books > Computing & Internet > Databases > Database Design & Theory
- Books > Computing & Internet > Digital Lifestyle > Online Shopping > Amazon
- Books > Computing & Internet > Programming > Microsoft Windows