Srinivas Sampath

from t in myThoughts where myThoughts.Thoughts = "Technology" select t

September 2005 - Posts

2005 PASS Community Summit - Day 1

Day 1 at the PASS Summit went off quite well. I initally wanted to attend a set of sessions based on my earlier browsings of the list, but in the end, I ended up attending a slightly different set. Here is a quick gist of what each session was all about.

Unlocking the Understanding of Locks in SQL Server 2005 and .NET (Aaron and Sukhdev)
Frankly, this session title was slightly misleading. When I read it the first time, I thought it was something to do with locking behavior with the new CLR integration of SQL Server, but when I went in, the session was about the new snapshot isolation mechansim of SQL Server 2005! However, the overall session was good and the demos were excellent (although they were shown a bit fast). The basic crux of the session was to explain the rationale behind the various types of locking in SQL Server and then providing scenarios of when to use what.

Future Directions in Data Language Integration (Alan Griver)
This was a very good session. It was an introduction to the new LINQ project of Microsoft. I had earlier blogged about LINQ and you can read more about this project from the link in that blog. Basically, LINQ is a mechanism for providing a standard query language over any enumerable object and this includes objects, data and XML. The session showed demos on each of these features and was very good.

Fine Tuning Performance with Plan Guides (Keith Elmore)
This was the best session that I liked in the day. I had heard about this feature, but never understood them nor played around with them. Put simply, plan guides are a mechanism whereby you can influence the behavior of the query optimizer by asking it to consider a different optimization plan based on "guides". There are new T-SQL procedures that allow you to create, control and drop plan guides. By creating a plan guide, you can then tell the optimizer to use the guide whenever it sees a particular type of query. There are different types of plan guides: SQL, OBJECT and TEMPLATE. Overall, it was very interesting to know about this feature and is a remainder for me to look for more.

Index Enhancements in SQL Server 2005 (Kalen Delaney)
This session was a whirlwind tour of the new enhancements in SQL Server 2005 for indexing. Some features that were demonstrated were the new DMVs for analyzing and understanding index usage, the concept of "included" indexes and also statistics for substrings (cool concept). Can't wait for Kalen's book on SQL Server 2005!

Attending SQLPASS 2005

Finally, my dream has come true. I have always wanted to attend the SQLPASS community meeting to get to meet all MVPs and various people who make SQL Server tick. This year, am finally attending it! Am right now in Texas (but visiting one of my collegue before I head back for the Summit). The travel here was pretty long (almost 2 days of Indian time!) and when I finally reached here, I almost kissed the ground :-)

Anyways, the next few days promise to be fun and I intend to blog about each and every session that I'm in. So watch this space for some interesting content about SQL Server 2005.

Service Broker and External Activation
The activation mechanism in SQL Server 2005 Service Broker is tied to only stored procedures. What this means is, each time a message arrives in the queue, a stored procedure can handle the message and act upon it. However, what if you want an external program to be launched for the queue message? This is called external activation and there is no easy way to do this for now. However, a workaround exists by using the event notification features of SQL Server 2005. Check this blog from Rushi Desai for how to do this along with a downloadable sample.
Windows Workflow Foundation

In PDC 05, Microsoft unveiled the Windows Workflow Foundation (WWF) a programming model for building workflow enabled applications. It bolts on Visual Studio 2005 and adds some designers and some new namespaces. Slated to release by mid 2006, you can use this right now under Windows Server 2003 SP1, Windows XP SP2 and Windows Vista. You will need Visual Studion 2005 Beta 2.

Looks pretty cool and I've started playing around it. Will blog more or better still, take a session at B.NET or write an article about it.

The LINQ Project
LINQ is a code name (for .NET Language Integrated Query) for a set of extensions to the .NET Framework and extends the C# and VB.NET languages with many features. You can read more about it here: LINQ. There are downloadable files for code samples in C# and VB.NET for VS 2005 and Express editions. Downloaded!
Addressing SQL Injection Attacks

What is a SQL Injection Attack? Here is the definition (from the article by Paul Litwin in the September 2004 MSDN Magazine).

The basic idea behind a SQL injection attack is this: you create a Web page that allows the user to enter text into a textbox that will be used to execute a query against a database. A hacker enters a malformed SQL statement into the textbox that changes the nature of the query so that it can be used to break into, alter, or damage the back-end database.

How do you go about preventing it? Here's how: Stop SQL Injection Attacks Before They Stop You.

PromptSQL

Did you always wonder why SQL Server Query Analyzer or the new SQL Server Management Studio never supported intellisense while almost all the other Microsoft development environments do? Well, I also did think about it and used to be quite irritated when I had to check up the tables in the system etc for writing queries. Well, now, look no further. PromptSQL (from Atadore) is a tool that provides intellisense capabilities when editing SQL in the following tools:

  1. Microsoft SQL Query Analyzer
  2. SQL Server Management Studio
  3. Visual Studio .NET 2003
  4. Visual Studio 2005 (Beta 2)

It also has a host of other features which you can read about here. You can download an evaluation copy at the site and use it and see for yourself. I LOVED IT!

What's in the Future

Don't we wish we all knew what the future holds for us? For us humans, there is astrology, palmistry and other sources that help us read into the future, but what about software? For example, what will the next generation of .NET Framework look like? Today, I ran across this site from Microsoft: Future Versions. This site talks about some of the enhancements being planned in the .NET Framework, C# 3.0 and VB 9.0. So go ahead, read the crystal ball :-)

Security Guidance for .NET Framework 2.0
Microsoft released the patterns and practices project for Security Guidance for .NET Framework 2.0. It contains a series of engineering practices and lots of how-tos. A great resource to learn to build solid applications. You can find it here.