SilverStripe can now run entirely off a Microsoft SQL Server 2008 database!
This allows SilverStripe to easily connect to existing databases and fit into environments where you don't necessary want MySQL. It allows SilverStripe to be used in as many situations as possible, in much the same way as supporting multiple web browsers and operating systems does.
SQL Server Support is provided by installing the SQL Server Database module, currently in alpha. This module works only with our daily builds currently, and is little more than one powerful PHP file and is quite easy to install. The current state of the code lets you carry out the tasks you would expect: install SilverStripe; add fields through invoking /dev/build; use the CMS; and, to the best of our knowledge, run all our modules.
The main known limitation currently relates to automatic column type changes. If you create a field (for example 'TShirtSize') as numeric field and then decide you need to change it to a text field, you would normally change the type in PHP and run /dev/build to update the database. In MySQL this would adapt the field and preserve the data as much as the new column allows. However, such a feature is less easy to implement in SQL Server so you currently need to perform schema changes manually. This issue also applies to changing field precision, for example changing VARCHAR(10) to VARCHAR(40).
Other than that, we're using the code with success internally, and know others in the community are too. We're mentioning this SQL Server milestone in the blog to let you know that the feature is well on its way, and to allow careful developers a chance to try it out, provide feedback, and files bugs before we mark it as a publicly stable module.
- See list of bugs and feature requests listed against SQL Server Support
- Report a bug in Microsoft SQL Server module (register or login before clicking)
Organisations wishing to make use of it in production today can contact us for commercial support, or wait some months for this to be part of our standard release.
Something you might not know is that Microsoft has long provided SQL Server 2008 Express, a free version of SQL Server. The only limitation of the express edition is that it will only utilise up to 1 physical processor, 1 GB memory, and 4 GB storage on a machine, so it won't scale well beyond trial, development, or low-end production environments.
The Microsoft SQL Server Management Studio, demonstrating SilverStripe running on SQL Server 2008: