May I suggest SQL CE 4 instead of any instance of SQL Server?

This would lower the deployment bar. I’m trying to get rid on SQL Server in all the project I can…

Hi there,

My main concern was backups - I’ve seen people use Java-based products (like TeamCity/TinyPM) with embedded databases, only to realize they never took backups and their data is lost. On the other hand, even if I required SQL Server Enterprise there’s no guarantee anyone would set up backups.

On the plus side, it would make deployment and installation much, much easier. Great suggestion, I’ll make the change soon. SQL CE will be the ‘default’, and you will be able to switch to SQL Server by manually editing the connection strings.


Smart move, indeed…
SQL Server can be a nightmare to deploy. Even the express version.
I never got it right.
And you are right, if it’s about backup it’s not worth the price.
And also to backup the SQL CE DB is just a matter of file copy, right?
The only thing you will have to take care of is the fact that you have a 64 and a 32 bits version.
Also I guess that you are aware of the way you need to deploy the SQL CE DB, using the specific version…
And anyway the universal providers are on the road…
I’ll wait for the SQL CE version then :wink:
Thanks, your project is looking very good…
The product AND the package :wink:

ps: can we have mail notification in case someone posts a reply in a thread here?

I would also really like to see SQLCE support

Jonx, if you create an account (click the Create Profile link at the top of the page) then come back to this page, you’ll be able to subscribe to notifications.

So your running automatic build servers and deployment script but are unable to run a SQL server?

Just an update on this feature:

Octopus has two processes:

  1. The web portal, hosted in IIS (w3wp.exe)
  2. The Windows Service (Octopus.exe)

Both need access to the database, which works fine for SQL Server.

For SQL CE this is a problem, since both processes will attempt to take locks and write to the same .sdf file. This sort of works, but if there is too much contention one process or the other seems to fail. Transaction support in SQL CE + Entity Framework is also very difficult to use.

I also experimented with RavenDB embedded mode as an alternative, but it too has restrictions on multiple processes accessing the same data files (one process blocks until the first releases the DocumentStore).

For now I’ll park this feature, with a view to re-evaluate in 3 months in case support in SQL CE is improved.