“Unsolvable” bug in Visual Studio – how to connect to SQL Server 2008 Express

64-bitsql-server-2008visual-studio-2008

I've been struggling for some time now to be able to use the built-in functions in Visual Studio 2008 to handle *.mdf database files with SQL Server 2008 Express. I'm running on an x64-based system, and I've read that there is a known problem with this setup, but the hotfix has not solved my problems.

Basically, what happens is that when I try to add a new *.mdf file to the App_Data folder of a project, I get an error message saying:

Connections to SQL Server files (*.mdf) require SQL Server Express 2005 to 
function properly.  Please verify the installation of the component or download 
from the URL:    http://go.microsoft.com/fwlink/?LinkId=49251

My (unsuccessful) steps to solve this:

  1. Uninstall all possible associated programs to Visual Studio, SQL Server or .NET Framework (which left .NET 2.0 Compact Framework and .NET 3.5 Compact Framework, and nothing else .NET related, installed).
  2. Reboot.
  3. Install .NET 3.5 SP1, SQL Server 2008 Express and SQL Server Management Studio 2008 Express via the Web Platform Installer 2.0 (Beta).
  4. Reboot.
  5. Install Visual Studio 2008 Professional from disc.
  6. Reboot.
  7. Install Visual Studio 2008 Service Pack 1.
  8. Reboot.
  9. Install hotfix.
  10. Reboot.
  11. Start VS, create new Web site and try to add database. Still get the error message…

When I look in the Help/About dialog, the hotfix shows up among applied updates. I have also checked and double-checked that the SQL Server instance name is correctly set in Visual Studio (I copy-pasted the instance name from the login screen in SSMS).

Why does the hotfix not solve my problems? Am I doing things in the wrong order, or do I have the wrong software versions somewhere?

According to the KB article, the problem is that Visual Studio doesn't correctly detect "some registry keys" – but nothing is said about which keys. Does anyone know how to fix this manually?


Oh, and yes – I've seen this post. I know I could just "downgrade" to the x86 version of SQL Server, but I really want to make this work with the x64 version (if nothing else, just because it's supposed to work…), so that solution doesn't really solve my problems. Please don't close this as a duplicate.

Best Answer

Just out of curiousity what are you getting out of developing in VS against a local x64 SQL Server ?

It's generally accepted that developing databases for x86 should be identical as for that for x64. Thus you should be able to run x86 SQL Server Express and not lose anything.

Lastly have you tried Visual Studio 2010?