plesk panelIn their recent versions, the folks at Parallels have done a nice job of minimizing the differences between their Linux and Windows Plesk control panel.  While I generally prefer Linux for a variety of reasons, one of the nice things about Plesk for Windows is the broad database engine support given.  In addition to MySQL, MS Access (aka “Jet Engine”, aka mdb) and MS SQL are supported.  Even better, Plesk 12 lets you choose between 2008 (default), 2012, and now the 2014 versions of MS SQLExpress (you can install SQLExpress 2012 and 2014 via the Plesk updates page).  Any combination of these can exist on the same server. If you are resource constrained, I recommend only having one SQLExpress version service running.

Notably missing from Plesk’s excellent MS SQL availability is built in support for full-text indices.   Microsoft includes this feature in the “Advanced” version of SQLExpress, but Plesk for Windows isn’t packaged with the Advanced version of MS SQL.  However, adding it is pretty simple.

MS SQL’s query language, Transact SQL, has a contains() function, which is one of the few things I like about MS SQL over MySQL.  Contains() is a simple way to access a very powerful text search feature set.  A lot of MySQL based software (notably, vBulletin and Xenforo, among others) rely on add ins like Sphinx or Enhanced Search, to deliver any kind of reasonable, full text search performance on large databases.  Transact SQL’s contains() delivers the same type of functionality, outstanding performance, and it’s built into the MS SQL database architecture.

So how do you add Full Text capabilities to a Plesk Windows server?  Pretty simple:

1) Download the 2012 SQLExpress Advanced version from Microsoft to your Plesk Windows server in a remote desktop session (currently about 1.3GB in service pack 1 form).

2) Run the install by double clicking the downloaded installer.

3) After some initial analysis, the installer will prompt you to either install or upgrade existing versions of software on the server, or add features.  Choose add features.

4) Full Text indexes are one of the available features you’ll see listed.  Check the box next to it, to indicate you want it installed, and click the “next” button.

The installer will do it’s thing.  This can be done live, without any concern for interrupting web hosting operations.  When the installation is complete, you’ll have access to Full Text indexing via the MS SQL Mangaement console (Full-Text Index is a menu choice on the popup that occurs when you right-click on a database table).

That’s it.  I haven’t used SQLExpress 2014, so I can’t say the procedure will look exactly the same, but it should be similar.

Helpful resources:

Download MS SQL 2012Express Advanced from Microsoft

Transact SQL’s contains() function