Case Studies



Recover BDC application after an AD account is deleted

By Mark Meyerovich on October 28th, 2011 // 3 Comments

On a fine Friday morning, just a couple of days before production release a watchful IT manager deleted AD account of one of administrators no longer with the company. The account had permissions to multiple BDC objects. We found out about it a little later, by chance, but first we saw our SharePoint 2010 application built on Business Data Connectivity and InfoPath completely fall apart.Instead of any meaningful data all External Lists, administrator pages, SharePoint Designer, and thousands of ...

Continue Reading

SSRS report parameter to show or hide columns

By Mark Meyerovich on November 4th, 2010 // 2 Comments

Sometimes reports are used mostly for data analysis, rather than presentation. In such cases users request many filtering options and flexibility in choosing the data included in a report. So frequently they ask to select which report columns to show.When resulting data set is large it may be better to filter the data in the query or stored procedure and return only the columns user requests. However, there is a simple way to let a user show or hide many columns. All the column selections can be...

Continue Reading

Key points on using Filestream attribute

By Mark Meyerovich on April 18th, 2010 // No Comments

According to this study from Microsoft Research, SQL Server handles BLOBs smaller than 256KB more efficiently than a file system, while NTFS is more efficient for BLOBS larger than 1MB. SQL Server 2008 introduced the Filestream storage attribute for varbinary(max) data type to store data in files. Here are the steps to begin using this feature: Enable Filestream storage at an operating system level using SQL Server Configuration Manager (system administrator). Then enable it on a SQL Serv...

Continue Reading

When using LINQ don’t forget about deferred execution

By Mark Meyerovich on December 19th, 2009 // 2 Comments

When using LINQ it helps to be on lookout for deferred execution. With some complexity in your code you may end up running an unexpected query.From MSDN: "deferred execution means that the evaluation of an expression is delayed until its realized value is actually required. Deferred execution can greatly improve performance when you have to manipulate large data collections, especially in programs that contain a series of chained queries or manipulations." Here's another example.For a simple exa...

Continue Reading

Resolving update conflicts with Change Data Capture

By Mark Meyerovich on December 3rd, 2008 // No Comments

Another use of the new SQL Server 2008 feature Change Data Capture (CDC) is to resolve conflicts between multiple updates.Consider a large online store where multiple business users update product information. Suppose product specialists use a big form to enter the data. Suppose also that one user can only update unit name or size. Another user can change product category. Let's see how we can use CDC to accurately track the changes.Assume the following table holds the products:In the Management...

Continue Reading