SSIS will not warn if metadata is out-of-date for a Lookup

I ran into this problem today that didn't take a long time to resolve, but took me a little by surprise. Most of my SSIS packages use the Lookup transformation component to look up keys used in source systems and match them to the data warehouse. When SSIS packages fail at the Lookup component, the most common cause is that the source system's key does not exist in the data warehouse and must be added first. This time was different, however.

The Truth Behind FilestreamEffectiveLevel and FilestreamConfiguredLevel SERVERPROPERTY values

There is a lot of confusion (not in small part due to Books Online’s inaccurate descriptions) around the meaning of the SQL Server server properties FilestreamEffectiveLevel and FilestreamConfiguredLevel. There are 2 problems with the way Microsoft describes these properties: the list of values they can have is incomplete, and their actual description (as well as … Continue reading The Truth Behind FilestreamEffectiveLevel and FilestreamConfiguredLevel SERVERPROPERTY values

FILESTREAM and Rebuilding Clustered Indexes: Caution

There is some caution needed when working with FILESTREAM and clustered indexes. Specifically, if all of the following conditions are true, your FILESTREAM data ends up being moved to the default FILEGROUP even though this may not be your intent: Your database has more than one FILESTREAM filegroup. You have one or more tables that … Continue reading FILESTREAM and Rebuilding Clustered Indexes: Caution

Using SQL Server 2008 FILESTREAM in an N-Tier Solution

For my recent talk at SQL Saturday #14, I had to find a solution that would allow a client to read SQL Server 2008 FILESTREAM BLOBs using SqlFileStream. The Problem While the addition of the FILESTREAM attribute is a great solution to a common problem, most performance benefits are only realized when accessing the BLOBs … Continue reading Using SQL Server 2008 FILESTREAM in an N-Tier Solution