Paul Flessner talk

Paul Flessner is one of my favorite VPs. Here is a recent high level talk that Paul and others gave on SQL Server 2005 The talk is for ISVs that sell database based applications but it is nice high level look at SQL Server 2005 and the thinking behind its development. This posting is provided “AS…


Building software for a global mass market

In the comments to my intellisense blog entry people asked a reasonable question: why not just ship some of the imperfect T-SQL intellisense Microsoft developers have built internally and thus help our customers be more productive. I thought an explanation might give you some interesting insights into how Microsoft works and what it takes to…


Sqlcmd’s cool new facilities

Sqlcmd is the SQL Server 2005 replacement for osql which in turn is being deprecated in SQL Server 2005. An irritating aspect of osql is that it lacks basic macro facilities. A macro processor like M4 could be used to preprocess the script but that required deploying M4. So I was excited when I learnt…


Adding intellisense and refactoring to the T-SQL editor

One of the features I would like to see in our tools for SQL Server is a T-SQL language service. This would give customers features like intellisense, text completion, refactoring (e.g. renaming a table everywhere at once), error highlighting (as in Word’s red squiggly underlining), and host of other features that C# and Visual Basic…


How should database models be persisted?

The conventional way to persist the semantic data in a graphical database design/modeling tool is as a single binary file. This is easy to implement but does not mesh well with the text oriented tools developers typically use (e.g. editors, source code control systems, file diff and file searching utilities). In addition, if something goes…


T-SQL casing conventions feedback

Thanks everyone for the great blog and email comments on how we should deal with T-SQL casing conventions.   There was a lot of interesting feedback on casing conventions for T-SQL. In summary, the main feedback was Default capitalization should follow the documentation Capitalization has value for all the non-Visual Studio tools people use Intellisense…


Uppercase or lowercase T-SQL keywords

I have been rethinking using uppercase letters for T-SQL keywords. Readability research shows that uppercase keywords are harder to read and experience shows they are harder to type. Is it just tradition that keeps T-SQL developers uppercasing keywords?   After searching the internet, the only argument I found for uppercasing keywords is the traditional one…


When to use SQL Server 2005’s XML data columns

SQL Server 2005’s support for XML has improved substantially. The new internal representation of XML and XML indexes supports much faster queries and updates. SQL Server 2005 supports querying and updating XML with XQuery, a powerful second-generation DML language for XML. Finally, SQL Server provides good support for converting between and relating relational and XML…


Surrogate keys

After you have been building databases for a while, surrogate keys become second nature but many people do not know about them so I thought I should devote some time to them. In addition, a constant challenge is choosing between using an int or a uniqueidentifier (i.e. GUID) as a surrogate key and I thought…


Database design made easier

Boring stuff about me I am a Software Architect in the Visual Studio group. I am interested in leveraging metadata to improve Microsoft’s servers, development tools and management tools. This has caused me to write a lot of T-SQL code, which has made me interested in making it easier to build SQL Server, based applications….