Someone contacted me yesterday and said they were getting blocked when they tried to create a FileStream data column type. On investigation, I found they were Mirroring that database – and the two aren’t compatible.
Which got me to thinking – it’s probably a good idea to make a “check script” as you investigate tacking on a new feature, column type and so on to ensure that they are compatible with what you want to do. For instance, in the case of the client that contacted me, I just ran this script as part of the troubleshooting process:
SELECT * FROM sys.database_mirroring; GO
You could easily add logic there to test for a partner and report on the process before you tried to implement the change. That’s pretty trivial – but how about creating a “check script” each time you investigate something like this, and put it in your library of scripts? That way you don’t have to recreate the wheel each time you want to make a change in a new system.
Very important – these scripts will change as new releases and service packs come out, so make sure you enter that as comments or even better as a test condition using CASE or other statements.