SQL Server Parallelism–The Dark Side

I just upgraded my dev box from four cores to six cores with a bunch of memory.  I was excited to see how fast my multithreaded, data intensive program would run.  I launched it and my previously exception free program started throwing SQL Server query timeout exceptions.  I was not impressed! Rebuilding indexes and updating… Read more

SQL Server 2008 R2 Change Tracking and Backup Fix

My database server rebooted unexpectedly and I started getting this error each time I’d try to backup the database or do some other operations like dismount, etc. Cannot insert duplicate key row in object ‘sys.syscommittab’ with unique index ‘<Index Name>’. Failed to flush the commit table to disk in dbid <Database ID> due to error… Read more

Designed for the Cloud–it is all about State!

I just got back from a proof of concept (POC) review.  A POC is what we call the investigation stage where a developer or architect has a great idea and wants to prove it out in code; the review is the chance to share what was learned with peers.  Needless to say we’ve had a… Read more

Cloud Security–Another Viewpoint

I recently wrote in a post that software as a service (SaaS) providers have economy of scale advantages over traditional IT and that IT must adapt to compete, eventually becoming SaaS providers of their own.  Cloud computing is a catalyst for the rise of SaaS since it nearly eliminates the scale-out infrastructure hurdles.  One commenter… Read more

Where Does the Cloud Lead Us?

I work in IT.  Have you ever thought about the cloud paradigm shift going on in IT and where it eventually leads?  I can envision a future where everything is software as a service (SaaS).  Economy of scale drives it. Businesses are in business to provide value to their customers; they invest in core competencies… Read more

Silverlight and Claims-Based Authentication in Windows Azure

I wrote a series of lessons learned articles which Daniel Odievich helped me publish over on the TechNet Wiki.  If you’re planning on Azure hosting Silverlight business applications you’ll want to check out these links before you get started: Secure Silverlight Applications with Claims-Based Authentication in Windows Azure – Lessons Learned – Part 1 Secure… Read more

Configuring diagnostics.wadcfg to Capture Custom Log Files

Windows Azure Diagnostics (WAD) has the ability to copy files to Azure blob storage.  The feature is meant for copying custom log files but you can use it to copy any file that WAD has permission to access.  To configure this feature via diagnostics.wadcfg add appropriate <DataSource> and <DirectoryConfiguration> elements to the XML. Within <DirectoryConfiguration>… Read more

Configuring WAD via the diagnostics.wadcfg Config File

Azure 1.3 added the ability to control Windows Azure Diagnostics (WAD) via a config file.  The MSDN documentation covering diagnostics.wadcfg explains that the capability was added to support the VM role.  The documentation also says to continue configuring WAD via code in OnStart for the other role types. I instead recommend using diagnostics.wadcfg for all… Read more

Mechanical Bird

We are lucky that “building” software is so easy and cheap.  Imagine how hard it is to build a working mechanical system.  That is why I’m amazed by this mechanical Bird: http://www.avweb.com/avwebflash/news/festo_smartbird_autonomous_efficiency_flight_video_204326-1.html What, you don’t agree that software is easy and cheap to build?  Consider Jack Reeves’ insight from 1992: http://www.developerdotstar.com/mag/articles/reeves_design_main.html… Read more

Azure Diagnostics and ASP.NET Health Monitoring

By default Windows Azure Diagnostics (WAD) does not receive ASP.NET Health Monitoring events.  The machine web.config file at %windir%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config shows the default behavior of ASP.NET Health Monitoring.  Basically all unhandled errors and audit failures are written to the Windows Event Log within the Application folder as shown: For WAD to capture the health event you… Read more