SQL Server 2005: What's New
In an exclusive interview, Roger Jennings, a frequent contributor and advisor to VSM, breaks down what's new with the new database features in Visual Studio 2005 and SQL Server 2005.
Roger Jennings is a frequent contributor and advisor to VSM, discusses what's new with data in Visual Studio 2005 and SQL Server 2005 with VSM Editor-in-Chief Patrick Meader. Read the full interview here.
PM: Five years is a long time. Where does this time show—or not show—as much as you'd like in SQL Server 2005?
RJ: As Steve Ballmer said in his keynote for the San Francisco release event, SQL Server 2005, VS 2005, and BizTalk Server 2006 were "a little bit long in the making." I was surprised by Paul Flessner's September 14, 2005 "SQL Server 2005 Update" letter, which warned early adopters not to expect the promised Database Mirroring feature and SQL Server 2005 Express Manager in the October 2005 release-to-manufacturing (RTM) bits. Paul committed to release Database Mirroring for general use only "as soon as ... it is ready."
The SQL Server group recently posted the November CTP of Express Manager's replacement—a scaled-down version of SSMS called SQL Server Management Studio Express Edition (SSMSEE). The RTM version is likely to appear in the first half of 2006. For VS developers who have Express Edition only, any management tool with a GUI is better than none. You can't install SSMSEE side-by-side with the RTM version of SSMS. Don't count on the unsupported SQL Server Express Utility (SSEUtil.exe) to compensate for the demise of the developmentally disabled Express Manager, but you'll need it to activate a User Instance for SMSSEE.
PM: What is your favorite new feature in this release?
RJ: It's not easy to pick a single favorite new feature, but I spend a lot of time creating and manipulating XML InfoSets and developing Web services. So I'd go for the native XML data type, which appears to me to be superior to XML storage and processing in current IBM DB2 and Oracle implementations.
On the tools front, I especially like integration of SQL Enterprise Manager and Query Analyzer tools into SSMS with the VS 2005 IDE. SQL Server 2005's business intelligence features are major marketing points, so I also like the capability to design and execute SSIS packages and create Analysis Services or Report Services projects from VS 2005's New Project dialog.
PM: Is the innate support for .NET language, including the support for writing stored procedures in C# or VB.NET, the most misunderstood feature in SQL Server 2005?
RJ: I'm not sure if CLR support in SQL Server 2005 remains the most misunderstood feature, but it clearly has the potential to the most misused feature. Microsoft set the stage for SQLCLR misuse by promoting managed code as a crutch for VB and C# developers who weren't competent to write T-SQL statements for stored procedures, user-defined functions, or other database objects. Substituting managed code for T-SQL stored procedures or batches that perform CRUD operations on tables or views almost always results in slower execution and increased resource requirements. Creating user-defined data types (UDDTs) with an SQL Server Project is a chancy process, because modifying the UDDT requires dropping all table columns of the type before dropping and recreating the UDDT. It's not a good idea to create simple UDDTs, such as the ubiquitous demo data type that combines X and Y double values in a single column of the Point data type.
An appropriate use of SQLCLR stored procedures is to replace extended stored procedures (XProcs), including OLE Automation stored procedures (sp_OAs). Another potential use for SQLCLR stored procedures or table-valued functions is as a substitute for cursor-based operations that suffer from poor performance, excess resource consumption, or both.
PM: What are LINQ, DLinq, and its related acronyms, and why will developers care about these technologies in the future?
RJ: Language Integrated Query (LINQ) is a technical preview of a new object-relational mapping (O-RM) technology (DLinq) and a set of XML document management enhancements (XLinq) that are expected to be included in the next version of Visual Studio?currently codenamed "Orcas." LINQ is the successor to Microsoft Research's C? (C-Omega, formerly X# and Xen) extensions to the .NET type system and C# language. The objective of LINQ, DLinq, and XLinq is to eliminate, or at least minimize, the "impedance mismatch" between query languages?such as T-SQL?and programming languages like VB and C#. LINQ depends on VS 2005's generic and nullable types, and forthcoming lambda functions, anonymous types, anonymous arrays, object initializers, and extension methods in VB 9.0 and C# 3.0.