Compartilhar via


SQL Server Compact and 64bit support

We've started to get a number of request whether SQL Server Compact will support 64bit.  The answer is absolutely YES!  Ok, but when?  We'll, that part we're working on.  Up until recently, we haven't really seen a big need as the number of clients that have 64 bit hardware was fairly minimal at best.  Even those that purchase 64 bit hardware may still load 32 bit operating systems as lots of software isn't 64 bit ready.  Even if it was, it's not clear it would actually run faster.  In some cases it may run slower.  However, that being said, we do know that developers want their products Vista certified, and need 64bit support.  So, similar to the 4gb limit questions, it seems developers just want to know whether it's an if, or a when.  So, hear clearly, it's a when, not an if.

As for the answer, we're very focused on finishing up Visual Studio 2008 (Orcas) as well as SQL Server 2008 (Katmai).  We hope to have some answers on "when" later this summer as we can rank the features and scenarios we're hearing from customers that they want us to add to SQLce and our end to end client offerings.  Because 64bit isn't a feature, but rather another "platform", we don't necessarily need another release to ship SQL Server Compact 3.5 with 64 bit native support, we just need to finish up the work.  So, one option is we ship 64 bit between 3.5 and our next release.

Now, I hope this post won't get twisted into one of those "Microsoft commitments to the 64 bit platform" rants.  With a nimble team, we can easily adjust to our customer needs based on priorities.  It's clear that 64bit is now becoming a higher priority.  In VS 2005, or even SP1, it wasn't clearly a high priority, which is why we've been holding off.

As we have more committed dates, you can be sure we'll let folks know.  As always, it's great to get your feedback on what you think our priorities should be, what scenarios you need support from, and when...

Steve

August 30, '07: Additional Comment

While we know developers want and need full native 64bit support, I should point out that SQLce does work in WOW mode on 64bit machines. Unfortunately because it's loaded in-proc with your app, it does mean the app must be run in WOW mode.  As we ship the native version, you'll be able to simply update the SQLce install, and pop back out of WOW mode to run fully native.

August '08 Update:

64bit support has been released with SQL Server Compact SP1: SQL Server Compact 3.5 SP1 Released

Comments

  • Anonymous
    July 11, 2007
    As long as it will run in WoW on x64 I don't really care when it comes out because it's not blocking. What is blocking in 4 gig limit...

  • Anonymous
    July 17, 2007
    Steve - Here's a vote for 64 bit support. We are looking to migrate hundreds of clients to run some of our new desktop apps in a Citrix/Terminal services farm on Server 2003 64bit. We are having trouble getting CE to run in those hosted systems.

  • Anonymous
    August 04, 2007
    The comment has been removed

  • Anonymous
    August 04, 2007
    Hi Joseph, VS will always run in 32bit mode, including WOW on x64.  So, this should not have any affect.  Can you confirm you've installed VS 2005 SP1, and the SQLce 3.1 runtime and tools releases from http://www.microsoft.com/sql/editions/compact/downloads.mspx  You'll need the embedded engine, VS Tools and of course you can download the updated documentation (BOL) Steve

  • Anonymous
    August 05, 2007
    The comment has been removed

  • Anonymous
    August 05, 2007
    Steve - I did some more searching and based on another blog post it seems like I have to force the project to compile for x86 and not Any CPU.  Once I tried this the application now runs from the VS IDE just fine.  Cool!  I would appreciate if you could confirm that this is the right solution for developing and running on x64 with SQL CE. Thanks, Joseph

  • Anonymous
    August 06, 2007
    That's great Joseph, And, yes, this makes sense.   Steve

  • Anonymous
    August 06, 2007
    Using 3.1 I can not get the sample apps to run on X64 unless I set them to x86. Once I do that I can not get mixed mode dlls to load. Any suggestions?

  • Anonymous
    August 06, 2007
    I’m not a 64bit expert yet.  I’m currently on a few weeks break, so I’m not in the office ‘till the end of August.  However, for client computing, I’ve been installing 32bit versions of the OS on my 64bit hardware, so I’m not speaking from personal expertise here.  So, it looks like I need to install my next build of VS using x64 when I get back. However, what I do know is that mixed mode dll’s would imply they could be loaded by both 32 and 64.  Since we don’t yet have 64bit versions of SQLce yet available, there’s no way to load SQLce from a 64bit process.   So, my question is do you really need 64bit now, or are you just trying to ride the wave of what every computing hardware will be available?  As noted, we will have native 64bit available, but it won’t be this year.  So, if you could wait, my best suggestion is to run in WOW mode.  I haven’t seen too many client apps really take advantage of 64bit yet.  By the time it becomes prevalent, you can be sure we’ll be there. Steve

  • Anonymous
    August 06, 2007
    Thanks for the reply. By mixed mode I mean managed and unmanaged. Because they are mixed you need to build them x86 or x64 there is no analagous AnyCPU. Do we need 64 bit support? We have customers trying to run our app on a 64bit OS. Yes I know we will get no benefit since we will be thunking down to 32 but we need at least run on the OS. Thus I am trying to get WOW mode working but like I said when I have a project that is 100% managed all works great. When I add one cpp assembly that needs the /Clr:oldsyntax it will not load that assembly and then the application will not run.

  • Anonymous
    August 07, 2007
    The comment has been removed

  • Anonymous
    August 17, 2007
    It looks like the Sql Server Compact 3.5 server tools may not work on 64bit yet? Is that part of the 64bit support you are saying is not in yet, or am I configuring something wrong. The error I get is that it says that IIS isn't available, or IIS7 is installed but without the backward compatibility bits. I have all of IIS7 installed, including the IIS6 bits. This is on Vista 64. Brian

  • Anonymous
    August 19, 2007
    Hi Brian Yes, that's correct, the Server Tools are also part of our 64bit support. As all the tools need to instance the SQLce engine, they all have the same 64bit constraint. Steve

  • Anonymous
    November 25, 2007
    Hi Steve, I am trying some samples from Microsoft Sync Framework for syncing the SQLServer CE database with the SQL Server2005 database, I am getting some version mismatch issue, below is the error messge , System.MethodAccessException was unhandled  Message="System.Data.SqlServerCe.NativeMethods.CreateErrorInstance(IntPtr ByRef)"  Source="Microsoft.Synchronization.Data.SqlServerCe" I guess there is some issue with the Microsoft.Synchronization.Data.SqlServerCe namespace provided with the Sync framework, could you pleas throw some light on this. Regards, Parag Dave

  • Anonymous
    November 27, 2007
    Hi Parag, We're in the middle of posting the bits directly to the web.  Of course, you can get SQLce 3.5 with Visual Studio 2008, but for those working with  VS 2005, that's a big download just to get our tiny runtime.  Here's the download link to the English runtime version: Desktop Runtime Device Runtime: Our public website should be live in a week or so. Steve

  • Anonymous
    December 11, 2007
    Unfortunatelly even the new Sql Server Compact 3.5 doesn't contain x64 support. Do you know more specific about the 'When'? Do you plan some CTP soon?

  • Anonymous
    December 14, 2007
    We're actively working on it, and plan to ship it this comming summer with our SP1 that ships with VS 2008 SP1 and SQL Server 2008.  Note: we won't actually ship "in" VS SP1 or SQL 2008, but rather at the same time as a web download. We'll likely have a public beta, but don't have a date set just yet. We haven't forgotten... <g> Steve

  • Anonymous
    April 01, 2008
    When you say "Yes, that's correct, the Server Tools are also part of our 64bit support." does that mean it currently works on Vista x64 or not? I get the same error as Brian regarding IIS needing backward compatibility support, which is already installed.

  • Anonymous
    April 10, 2008
    Hi Charles, No, at this point we do not have any native 64bit releases available, beta or RTM, client or serfer.  They're coming though.  I was poking around with some builds just today.   I'm sorry to say we won't have IIS7 native support in this comming SP1 release.  You can still use IIS6 Compat mode. Steve

  • Anonymous
    May 12, 2008
    A while back I posted some info about our intention to ship a native 64bit release: SQL Server Compact

  • Anonymous
    May 13, 2008
    Hey Steve, I have an application which needs to be ran on x64..and uses SQLCE... do you know when SP1 with x64 support will be coming out...because if its much longer we will have to find another product which supports x64. thanks!

  • Anonymous
    May 13, 2008
    Hi Leon, The official statement for SP1 release is �this summer�.  If you�d like to contact me directly, we can see if we can help you in the shorter term if this doesn�t meet your schedule needs. Steve

  • Anonymous
    June 20, 2008
    Eagerly looking forward to SQL Server Compact Tools 64-Bit support.

  • Anonymous
    July 09, 2008
    By tools support, do you mean the replication tools, or the VS Tools?  VS actually runs in WOW mode as it has many COM dependencies that aren't native 64.   We will be shipping the Merge Replication Server Connectivity tools in native 64 as well. Steve

  • Anonymous
    July 10, 2008
    Now, it's summer. Can I see the SSCE 64bit soon? :) I have to make a decision to use JET again or not. I need your help. Thanks.

  • Anonymous
    July 13, 2008
    Still no date on the sqlce sp1 with x64, supposedly this summer which is now.

  • Anonymous
    July 14, 2008
    Hi Jee-Il, Yes, 64bit support is definitley coming.  It's done and just waiting the release of VS 2008 SP1 and SQL Server 2008.   I discussed it a bit here: SQL Server Compact 3.5 SP1 Beta available  and here: SQL Server Compact 3.5 64bit coming soon in Sp1... Hope that helps, Steve

  • Anonymous
    July 14, 2008
    Hi John, Since 64bit is "just another build" of our 32bit release, we need to keep all the releases together.  SQL Server 2008 SP1, SQL Server 2008 and SQL Server Compact 3.5 SP1. We're almost there.  When you see VS 2008 SP1 RTM, look for our www.Microsoft.com/SQL/Compact landing page, and we'll have the 64bit download available. Steve

  • Anonymous
    July 23, 2008
    Let's just say that I'm not a SQL wiz.&#160; I like to use SQL Server Management Studio express when

  • Anonymous
    July 28, 2008
    I'm running SQL CE from an SQLCLR assembly inside SQL Server 2005 (x86) ... and it works fine in 32 bit mode. But now I had to install it on SQL Server 2005 (x64) edition on WS 2003(x64) and nothing works any more. We plan to run our software on x64 WS 2003. So I think without x64 support there is no go ??

  • Anonymous
    July 29, 2008
    Hi Peter, Pretty interesting, hosting Compact inside SQL Server.  I’d love to hear more about how you’re using Compact inside SQL Server.   For the how, I have to do some checking to get a confirmation, but since SQL CLR is hosted in-proc, yes, you’ll need an equivalent Compact CPU format to match your server.  The good news is the 64bit release is just around the corner.  When SQL Server 2008 and Visual Studio 2008 SP1 release, we’ll have Compact 64bit available as a web download from http://www.Microsoft.com/SQL/Compact. Steve

  • Anonymous
    August 16, 2008
    Is there any way in VS 2008 to force the project to run in 32 bit?  I've seen the property settings in VS 2005 and they don't seem to be tehre in VS 2008.  I'm trying to learn how to use VS 2008 and .NET 3.5 and without the 64bit Jet engine I'm at a standstill.

  • Anonymous
    August 18, 2008
    Hi Carol, Yes, you can set the Platform Target = x86 and x64.  You can get to this by double clicking the properties folder in the project (C#) or the My Project in VB. Then select the Build tab. In VB, select the Compile tab, then select the [Advanced Compile Options...] in the bottom left of the Compile tab. Steve

  • Anonymous
    August 18, 2008
    Thanks for your response, but I can not find the compile options (I'm using VB).  The property pages only have the following options:  References, Build, Accessibility, Start Options, MSBuild Options.  None of those options have a button for advanced compile options and none of them have any way (that I can see) to set the platform target.

  • Anonymous
    August 20, 2008
    Hi Carol, I’ve check the VB profile to make sure these options are still visible in VB.NET  which they are, so can you try reviewing this help topic to see if it helps: http://msdn.microsoft.com/en-us/library/07bysfz2(VS.80).aspx Steve

  • Anonymous
    August 20, 2008
    Thanks - I found it.  Problem is, the advanced compile options are not available in a website and I had a website that was attached to an access database.  I just modified my program to use SQL instead of Access and got it working.

  • Anonymous
    August 23, 2008
    Great to hear Carol.  I was creating WPF projects, and forgot the differences between web projects.   For websites, you might try adding a dll project, then referencing the dll from your web project.  This would give you the full features of the VS project system. Steve