Functional sort in C#

On an internal mailing list, we were discussing functional languages, and this Haskell sort code: qsort []     = []qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs) While trying to explain how this code works (which is very different from what it looks like to C++/C# programmers due to…


SQL 2008 & VS 2008

Currently SQL Business Intelligence Development Studio (BIDS) and all the project types (AS, IS and RS) live in Visual Studio 2005. So don’t try to open a solution that contains IS project in VS 2008 yet. What about final SQL 2008 – now that Visual Studio 2008 is released – what are the plans for BIDS…


VALVe/Steam horrors

(Update: VALVe has removed the worst recommendations that I described below. I don’t know if my article had any influence on this. They still want to run the Steam as a service though). I originally planned to use this blog for work-related stuff only, but the VALVe drove me mad, so I decided to write this. I…


SQL Server ETL Survey: Win a Zune!

Improve SSIS and win a Zune:


SQL 2008 November CTP is available

Get it from One of the improvements in this build is the ability to persist Lookup reference data and use non-OLEDB sources for Lookup.


Deploying packages

How can one deploy packages programmatically? Here is the original question – Is it possible to deploy a package programmatically? We have an application which has a work flow for approval of object. If the object (ssis package) is approved by the concerned authority it has to be deployed to sql server. How can this…


SSIS Lookups modes or leaky abstractions

I’ve got a question about SSIS Lookup, how-to change Partial or No_Cache mode in Lookup task ? I could give a quick answer, but wanted to explain what I think we did wrong in SQL 2005, and how are we planning to fix this. Before continuing, I recommend everyone to read this article: Joel Spolsky, The Law of…


Custom transforms: determining end of rowset

With SQL 2008 CTPs starting to get into the hands of customers and ISVs, we’ve found that some custom transforms and script transforms use incorrect code to check for the end of rowset (incoming data), which could cause problems when you move the code to SQL 2008. Unfortunately, some Microsoft docs helped to spead this…


Don’t run SSIS package using SQL/CLR

A recent commenter suggested running SSIS using SQL/CLR: Just an idea on how to do this that may be a bit easier than any of the methods covered.  IF you were to write a CLR procedure which accepts a string as its parameter.  The string passed in would be the xml definition of a package (either…


Redirecting output of Execute Process Task

Can you guess why this does not work? A customer is trying to use the Execute Process Task to execute the preplog.exe application (Microsoft utility) and pass the following command-line arguments: inetsv1.log > inetsv1.txt. Expected result: When the package runs, content in the inetsv1.log file is moved to the inetsv1.txt file. If you need a…