Joe Celko BIT of a Problem The BIT data type is an awkward fit for a SQL database. It doesn't have just two values, and it... 04 January 2011 12 min read
Phil Factor The Parodist: A SQL Server Application Every year, we ask Phil Factor to celebrate the holiday season with an article on SQL Server Programming that is... 20 December 2010 18 min read
Alex Kuznetsov Tuning SQL Queries with the Help of Constraints The use of constraints is a valuable way of improving query performance as well as maintaining the integrity of the... 07 December 2010 7 min read
Alex Kuznetsov Modifying Contiguous Time Periods in a History Table Alex Kuznetsov is credited with a clever technique for creating a history table for SQL that is designed to store... 25 November 2010 7 min read
Joe Celko Contiguous Time Periods It is always better, and more efficient, to maintain referential integrity by using constraints rather than triggers. Sometimes it is... 22 November 2010 13 min read
Phil Factor Consuming JSON Strings in SQL Server It has always seemed strange to Phil that SQL Server has such complete support for XML, yet is completely devoid... 15 November 2010 26 min read
Alex Kuznetsov Defensive Error Handling TRY...CATCH error handling in SQL Server has certain limitations and inconsistencies that will trap the unwary developer, used to the... 28 October 2010 35 min read
Joe Celko State Transition Constraints Data Validation in a database is a lot more complex than seeing if a string parameter really is an integer.... 08 October 2010 13 min read
Greg Larsen Parameter Sniffing If a SQL query has parameters, SQL Server creates an execution plan tailored to them to improve performance, via a... 20 September 2010 13 min read
Auke Teeninga Minesweeper in T-SQL Whatever happened to the idea that programming in TSQL can be fun? A Simple-Talk reader contributes an article to remind... 02 September 2010 8 min read
Joe Celko The DIS-Information Principle: A Splitting Headache You can easily re-factor bad DML code, but if a database design is wrong, you can do little to rescue... 17 August 2010 10 min read
Louis Davidson Tim Ford DMVs for Query Plan Metadata Before you can tackle any performance issues with a working database, you need to know which queries to work on... 17 August 2010 57 min read
Mike Mooney When Database Source Control Goes Bad It is a question every development manager dreads; "So how does your company handle database changes?". The reply usually masks... 05 August 2010 25 min read
Phil Factor SQL Server CRUD-Generation from System Views If you are not keen on repetitive typing, you can still rapidly produce production-quality documented code by planning ahead and... 09 July 2010 16 min read
Joe Celko Binary Trees in SQL A number of hierarchies and networks are most convenently modelled as binary trees. So what is the best way of... 22 June 2010 13 min read
Alex Kuznetsov Developing Modifications that Survive Concurrency You can create a database under the assumption that SQL looks after all the problems of concurrency. It will probably... 22 June 2010 40 min read
Joe Celko Book Review: Defensive Database Programming With SQL Server It distils a great deal of practical experience; the writing of it was a considerable task; It packs in a... 10 June 2010 4 min read
Robert Sheldon SQL Server APPLY Basics One of the most interesting additions to SQL Server syntax in SQL Server 2005 was the APPLY operator. It allows... 24 May 2010 12 min read
Phil Factor Exploring SQL Server table metadata with SSMS and TSQL Phil shows how to start squeezing powerful magic from SSMS for doing a detailed exploration of the metadata of your... 29 April 2010 21 min read
Robert Sheldon SQL Server Common Table Expression (CTE) Basics The SQL Server common table expression was introduced into standard T-SQL to simplify queries for which a derived table just... 29 April 2010 11 min read