We have been testing out the Networker Command line tools (version 8.2) as a way to backup our SQL servers but still be able to use stored procedures and Agent jobs to control the backups. We use xp_cmdshell to launch the command line tools
We were having no issues until we started trying to backup databases that are members of an AG group.
I have an AG named testAG and the AdventureWorks2014 database is a member of it
I have tried running the command using the AG name:
nsrsqlsv.exe -s [networkerserver] -l full -b "pool_01" -g "non_prod_sql_daily" "MSSQL#testAG:adventureWorks2014"
and even tried using the -a switch and adding the Windows cluster name.
in both cases, the process hangs and no backup is performed. I have to restart the SQL service to kill the process.
Has anyone had any luck using the NMM command line tools with SQL 2014 Availability groups?
You should read documentation - there you will find that client initiated AoAG backups are not supported. I really don't know why you even invest time is alternative schedule when NW's one works just fine, however if you wish to run AoAG backup, you will need to run savegrp in NW8.x on backup server.
The documentation for NMM 8.2 states that it does support what it calls Federated Backups, which are AG backups.
I was able to get it to work by setting up one server in the Admin console, running a backup then viewing the raw file to see what the command was that was passed to the client.
By adding in
-z FEDERATED_SLAVE=true -Z FEDINDEX_NAME=MSSQL -Z FEDCLIENT_NAME=[clustername]
and then changing the database name to include the ag like this:
the backups are running fine.
I am a DBA and we already have a robust and dynamic backup system using stored procedures, agent jobs and reports. We do not want to have to completely abandon our system for something new.
There is reason why it is not supported I guess so running it that way might give you issue you won't be aware until too late. While I understand your point of view of DBA, if your company has backup admin then he might have different point of view when it comes to utilization including scheduling... but that's endless debate and different companies do it different ways. All I'm saying is that I would not take risks here because I fear there might be reason for what it says in docs. As for CLI, you can see the same in logs (I think you don't even need debug for that part as I remember seeing it and I do not recall I used any debug switches).
However, it would interesting to test this scenario in combination with named instance which doesn't work when scheduled from server for sure