Data Backup and Recovery

SnapCreator integration to SnapManager for SQL in a ClusterMode setup


Hi there

We have been trying to implement SnapManager for SQL driven by SnapCreator on a ClusterMode setup.

We have the latest software, SC version  4.1, SD version 7.0.1, SMSQL version 7.0, Ontap 8.2

We are trying to implement a solution where we do daily, weekly and monthly backups of SQL, which we snapvault and then snapmirror in a cascading setup.

1. Do we need to create 3 different configurations for this setup?  Or is there any variables we can use in the SnapManager for SQL section where we define the commandline string to be executed by SMSQL ?

2. Do we need to specify any of the Snapshot, SnapMirror, SnapVault section in SC ?   Doesn't SMSQL control all this?

Could someone please explain to us how this is supposed to be setup, because is it not described anywhere.

Also are having issues with SMSQL not labeling the snapshots (errors in the SMSQL log, but job finishes OK)... (a case has been opened on this)

Kind regards,

Heino Walther



Hi Heino,

I have answered your questions below:

1. Do we need to create 3 different configurations for this setup?  Or is there any variables we can use in the SnapManager for SQL section where we define the commandline string to be executed by SMSQL ?

You could create 3 configs and this might be the easiest but you can also make it work with one config, here is how:

#   SMSQL_BACKUP_OPTIONS=-svr 'SQL'  -d  'SQL\SHAREPOINT', '1', 'WSS_Content' -RetainBackups  7  #

#                        -lb -bksif -RetainSnapofSnapInfo 8 -trlog  -gen -mgmt standard

The above parameter tells SCF which SMSQL policy to run. What you could do is set this to %USER_DEFINED


Now you could pass in what backup options you want through CLI or GUI as follows:

./snapcreator --user <user> --passwd <passwd> --action backup --policy <policy> --params USER_DEFINED=-svr 'SQL' -d 'SQL\SHAREPOINT', '1', 'WSS_Content' -RetainBackups 7 -lb -bksif -RetainSnapofSnapInfo 8 -trlog -gen -mgmt standard --verbose

I realise this isnt very nice but it is an option. I think you can also specify several parameters if that helps. For example: --params PARAM1=foo PARAM2=bar PARAM3=foobar

Then these can be referenced in config as %PARAM1 %PARAM2 %PARAM3

You need to make sure there is a space before and after %<PARAMETER> otherwise I think the parser assumes it is not a reference.

2. Do we need to specify any of the Snapshot, SnapMirror, SnapVault section in SC ?   Doesn't SMSQL control all this?

If you want SC to actually do the mirror or vault update then you would need to do this. It sounds like you are using snapshot labels, in this case SMSQL creates label and ONTAP would do update. There is another option however. You can turn off snapshot label creatin in SMSQL and just create normal snapshots. SCF could then vault or mirror these.

To do this you would need to enable following:

NTAP_USE_EXTERNAL_SNAPSHOT=Y - this allows SC to manage snapshot created from other applications such as SnapManagers. On limitation is SC can only handle one snapshot per volume, if you have everything on one volume SMSQL will create multiple snapshots, we are supporting this in future release.




You need to create vault or mirror relationships on your own SCF, does not do this. In addition if you are doing vault or mirror through another interface, like a data interface then you need to set following:


This maps the primary controller to its primary data mgmt interface and it secondary data mgmt interface

As for SMSQL case, if you can get labels working this is probably easiest assuming you want controller to do the vault and mirror updates and want to configure these policies on controller.

We are working on greatly improving the integration with SC and our windows SnapManagers and any feedback on what you would like to see, use cases you are solving, and more environment details would really help?




Hi Keith

I'm sorry to say that we have been more or less forced to move back to the Windows scheduler for the time being.

We found some issues in the interaction with SC and SMSQL, one of which is that the snapshots are labeled "Daily" and not "daily", so one have to be aware that ontap is case sensitive.

We have created snapmirror and snapvault policies in the cluster to take care of the snapmirror and snapvault operation based on the labels set my SMSQL.  This actually works, but I think the idea was the SMSQL should kick off the snapmirror operation?

Is actually does so with the snapinfo volume, but not for the rest of the volumes...   we see an error in the logs:

[09:42:05.029]  [SOLARWINDSDB01] [SDAPI Communication Exception]: Failed to attach label to the specified Snapshot backup.(sqlinfo__solarwindsdb01_03-24-2014_09.37.52__daily)
Command execution stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Specified vserver not found

But the job finishes OK with no errors, which is also a "trademark" of the SnapManager products as we have see this kind of behavior in ragards to other issues...  also SMSQL does not always trigger an autosupport even though you specified it.. (known bug)...

Another issue is that we want to verify our snapshots, but when we enable this, SMSQL sometimes fails with this error:

[09:37:52.784]  [SOLARWINDSDB01] Querying LUN license: C:\SAN\SNAPINFO01\...
[09:37:52.784]  [SOLARWINDSDB01] Prepare to check license...
[09:37:52.784]  [SOLARWINDSDB01] Checking [snapmanager_sql] license on storage system [C:\SAN\SNAPINFO01\]...
[09:37:52.828]  [SOLARWINDSDB01] IsProductLicensed failed.
[09:37:52.828]  [SOLARWINDSDB01] [SDAPI Communication Exception]: Error: Failed to get storage feature status information.
Error: Failed to get storage feature status information.

Failed to run a command Get-NcFeatureStatus.

We see a kind of pattern, where we are able to do the backup including verify from the SMSQL GUI, but when the command is kicked off from SC, it fails...

Also one has to be aware of the command-string entered into SC, as as copy/paste from SMSQL introduces issues with the syntax, mostly the "-" seems to be some other character similar to it...  SMSQL also seem to introduce a lot of spaces in between the options.

We also suspect there might be issues with verify in conjunction with SC and a SQL Server with instances where you have to refer to the server as "SERVERNAME\instance".

Is there a description of which characters are allowed in the SC commandline, and how to use escape-characters ?   And is there a maximum length of the commandline ?  It can becomr quite big if you want to exclude certain test databases, and then have to enter all the other databases in the commanline...

So as you might see from this, there is still a long way before the combo of cDot, SC and SMSQL become as "stable" as 7-mode, SMSQL and DFM 🙂

...and don't even get be started on SME 😉