About Neverfail for SQL Server Plug-in
The Neverfail for SQL Server Plug-in is an add-on to Neverfail Continuity Engine, which provides protection for Microsoft SQL Server. It configures Neverfail Continuity Engine to protect the files and registry items used by SQL Server and also monitors aspects of the application and its environment that could affect availability.
Supported Versions of Microsoft SQL Server
For information about which versions of SQL Server and Service Packs are supported, please see
Knowledgebase article #4 - 'Neverfail Products' and the Release Notes for the specific version of the plug-in.
Install/Uninstall the Neverfail for SQL Server Plug-in Via the Advanced Management Client.
To install the Neverfail for SQL Server Plug-in, follow the steps below:
- Unzip the Neverfail for SQL Server Plug-in to the desired location.
- Launch the Advanced Management Client.
- Navigate to Application -> Plugins.
- Click on the Install button.
- Click the Browse button and navigate to the location of the SqlServerNFPlugin.dll file.
- Click OK to complete the installation.
Note: When editing the User Account for Neverfail for SQL Server Plug-in, if the Local System account is used, it must be entered with initial caps ("Local System"). Using all lowercase characters will result in the failure of the plug-in to authenticate.
To remove/uninstall the Neverfail for SQL Server Plug-in, follow the steps below:
- Launch the Advanced Management Client.
- Navigate to Application -> Plugins.
- Select the desired plug-in to be removed/uninstalled.
- Click on the Uninstall button in the Plugins pane.
- When the plug-in is uninstalled, the files are not removed. This is by design for future functionality and therefore the following workaround is provided:
- Copy the contents of the r2\plugins\<sponsor>\<version> folder to a different location (e.g. C:\temp).
- Delete the contents of the r2\plugins\<sponsor>\<version> folder.
- To reinstall the plug-in, when prompted for the location of the plug-in files, navigate to the new folder location (e.g. C:\temp).
Note: As an alternative, reinstallation can be accomplished by using the download files from the original download location after removing the plug-in.
Login Credentials
SQL Server version 2008 R2 and prior
The Neverfail for SQL Server Plug-in’s File Filter Discovery task and monitoring rules are configured, by default, to run as Local System for all SQL Server versions up to and including 2008 R2 SP1, the user is not required to configure login credentials. Please note SQL Authentication mode is not supported.
SQL Server version 2012 or newer
The database security model is different starting from SQL Server 2012; for filter discovery to connect and query the database, it requires a Windows Domain User account with the sysadmin role.
- SQL Authentication mode is not supported.
- If there are multiple instances of SQL Server and at least once instance is SQL Server 2012 or newer, then each instance must be configured with the same Domain user account with the sysadmin role.
To configure Neverfail for SQL Server Plug-in with a Domain User:
- Using the Advanced Management Client, navigate to the Applications: Plug-ins tab.
- Select the SqlServerNFPlugin.dll
- Click Edit.
- Enter the User domain, Username, and Password into the appropriate field.
- Click OK.
Monitoring
The monitoring of SQL Server and its system environment can be broadly categorized into the following three areas:
- Availability Monitoring
- Performance Monitoring
- Database File Monitoring and Replication
- Database Protection and Monitoring Exclusion
Availability Monitoring
Neverfail monitors the availability of a server by sending continuous heartbeat signals via the Neverfail Channel to the other server in the pair. The “Yes I am alive” response ensures that the other server is connected and responding. The heartbeat signal interval is configurable from the Advanced Management Client.
Service monitoring ensures that the application services are available and servicing clients. The plug-in also provides a database availability test to ensure that the SQL Server instance is capable of responding to requests.
- Database Availability
- Executes a stored procedure.
- Checks the SQL Server Instance is capable of responding within the designated period.
Note: The filter discovery task will also fail if an instance or database is unavailable because it needs to connect to SQL Server in order to determine the location of database and log files.
Performance Monitoring
Neverfail can monitor general system performance and does so via the Neverfail System Plug-in. For information on monitoring general system performance, please see Neverfail System Plug-in Online Help.
Each instance of SQL Server runs as a separate service. The default instance runs as MSSQLSERVER, and named instances run as MSSQL$<instance name>. Scheduling operations for SQL Server are controlled by the SQL server agent which can present itself as SQLSERVERAGENT for default instances and SQLAgent$<instance name> for named instances. Neverfail for SQL Server Plug-in monitors these services, and can react when they fail. The user may configure this reaction through the user interface of the Advanced Management Client under the 'Application' screen.
Rules - The following Performance Monitoring 'Rules' are installed by Neverfail for SQL Server Plug-in:
- Default Instance Buffer Cache Hit Ratio
- Default Free Pages
- Default Instance Free Pages
- Named Instance Working Set
- Named Instance Buffer Cache Hit Ratio
- Named Instance Free Pages
- Named Instance Total Server Memory
Notes:
- The default Buffer Cache Hit Ratio rule is triggered if the counter falls below 90% for 1 minute or more within a 30-minute period. All other rules are disabled by default (please see Knowledgebase article #1401 - 'Some Plug-in Rule Parameter Values Must be Set from Established Base Lines').
- The following rules depend on the SQL Server instance name:
- Buffer Cache Hit Ratio
- Free Pages
- Total Server Memory
To have them running properly, the Condition field of the rules has to be edited to show the correct SQL server instance name: SQLServer for the default instance or MSSQL$InstanceName for the named instance.
Otherwise, the rule may become disabled with the error Error creating counter SQLServer:[...]. Category does not exist.
To configure/modify these 'Rules', follow the steps below:
- Using the Advanced Management Client, click on Application -> Rules.
- Select the desired Rule.
- Click on the Edit button at the top of the Rules pane.
- Configure/modify the desired fields (listed below).
- Condition: (the condition being evaluated) E.g. see the Note above.
- Duration: (the length of time the condition exists)
- First Failure: (action to take upon first failure) Note: The default is set to 'Alert'.
- Second Failure: (action to take upon second failure) Note: The default is set to 'Alert'.
- Third Failure: (action to take upon third failure) Note: The default is set to 'Alert'.
- Click OK to save the changes.
Note: This dialog is also used to Enable/Disable the selected 'Rule'.
Database File Monitoring and Replication
When the Neverfail for SQL Server Plug-in is installed, it will determine all current instances of SQL Server and their default locations for database files (Primary and Secondary data files and Transaction log files). It will also query the instance of SQL Server to determine any additional locations for database files, which may have been configured, for example, through the SQL Server Enterprise manager. These files will be protected, i.e. their contents will be synchronized, and subsequent updates replicated to the passive server. During operation, administrators may add additional data and log files to existing databases, or indeed add entirely new databases to new file locations.
Neverfail for SQL Server Plug-in will regularly (by default every two minutes) check for new database files or instances and add them to the set of protected files. This does not require any intervention by the user. The addition of new database files is likely to be an infrequent activity and thus the default time step that the Neverfail for SQL Server Plug-in checks for such changes is deliberately set at a reasonably low frequency of 2 minutes. However, it may be necessary to alter the frequency of this check (while the application is stopped). This is achieved through the Engine Tasks tab or Advanced Management Client, by navigating to 'Application' screen and selecting the Tasks tab. Expand the 'SQLServer' tree view, and selecting the 'File Filter Discovery' item and then clicking on the Edit button in the Tasks pane. The dialog that is invoked reveals the Interval that the task will run in seconds. The default is 120 secs (2 minutes). This may be adjusted to suit, however it should not be decreased below about 30 secs, as this will create an unnecessary overhead, nor should it be increased greatly as this will increase the possibility of a failure occurring in the time window between new data files being added and Neverfail for SQL Server Plug-in detecting and protecting them.
- All registry data and program files.
- All installed SQL Server instances discovered at install time.
- All the databases for the protected SQL Server instances.
Tasks - The following Tasks are installed by Neverfail for SQL Server Plug-in:
- Protected Services Discovery
- File Filter Discovery
- Registry Filter Discovery
To configure/modify these Tasks, follow the steps below:
- Using the EMS Web UI ( or Advanced Management Client), click on Application -> Tasks.
- Select the desired Task.
- Click on the Edit button at the top of the Tasks pane.
- Configure/modify the Interval field.
Note: Interval is the only field available for configuration/modification and is measured in seconds (secs).
- Click OK to save the changes.
Note: This dialog is also used to Enable/Disable the selected 'Task'.
Database Protection and Monitoring Exclusion
Beginning with Neverfail for SQL Server Plug-in v201.5.7 users can specify databases to be excluded from protection and monitoring. This option allows for one or more databases to be excluded from the following database level rules:
- Database Availability
- DB Files Allocated Space
- DB Online Status rules
To disable a specific database from protection and monitoring:
- Using the EMS Web UI (or Advanced Management Client), navigate to Data: File Filters.
- Identify and select the applicable database file filter.
- Click Edit.
- Clear the Enabled check box.
- Click OK.
- Navigate to Applications: Plug-ins.
- Select the Neverfail for SQL Server Plug-in.
- Click Edit.
- In the Databases to excluded from rule checks field, enter the instance/database. When entering multiple databases, separate each with a semicolon (";").
- Click OK.
Beginning with Neverfail for SQL v201.5.9, users can specify offline databases to be protected. This option is selected post installation and allows one or more databases to be protected even though the database(s) is/are currently offline. By default, the option is not selected.
To protect an offline database:
- Using the EMS Web UI (or Advanced Management Client), navigate to Applications: Plug-ins.
- Select the Neverfail for SQL Server Plug-in.
- Click Edit.
- Select the option to Protect offline databases.
- Click OK.
Protected Service Discovery
This is a list of all services that can be protected by this plug-in at install time or as part of periodic service discovery. When the plug-in is installed, it scans all services to see if they are in the automatic or the started state. After the plug-in has been installed, the Service Discovery Task will protect services in the Automatic state to protect a previously unprotected service, set it to Automatic. Please note that where a plug-in supports multiple vendor versions, some services may not be present in a particular version.
- Microsoft Distributed Transaction Coordinator (MSDTC)
- Task Scheduler (Schedule)
- SQL Server Integration Services CEIP service 13.0 (SSISTELEMETRY130) – SQL 2016
- SQL Server Analysis Services CEIP (MSSQLSERVER) - (SSASTELEMETRY) – SQL 2016
- SQL Server CEIP service (MSSQLSERVER) – (SQLTELEMETRY) – SQL 2016
- SQL Server PolyBase Engine (MSSQLSERVER) – (SQLPBENGINE) – SQL 2016
- SQL Server PolyBase Data Movement (MSSQLSERVER) – (SQLPBDMS) – SQL 2016
- SQL Server Launchpad (MSSQLSERVER) – (MSSQLLaunchpad) – SQL 2016
- SQL Full-text Filter Daemon Launcher (MSSQLSERVER) – (MSSQLFDLauncher)
- SQL Server Integration Services 13.0 (MsDtsServer130) – SQL 2016
- Microsoft Distributed Transaction Coordinator (MSDTC)
- SQL Server Integration Services (MsDtsServer)
- SQL Server Browser (SQLBrowser)
- SQL Server Distributed Replay Client (SQL Server Distributed Replay Client) – SQL Server 2012 onwards
- SQL Server Distributed Replay Controller (SQL Server Distributed Replay Controller) – SQL Server 2012 onwards
Instance specific services
- MSOLAP$Instance - SQL Server Analysis Services (Instance)
- MSSQL$Instance - SQL Server (Instance)
- MSSQLFDLAUNCHER$Instance - SQL Full-Text Filter Daemon Launcher (Instance)
- SQL Server Reporting Services (REPORTSERVER$Instance)
- SQLAgent$Instance - SQL Server Agent (Instance)
- SSASTELEMETRY$Instance - SQL Server Analysis Services CEIP (Instance)
- SQLTELEMETRY$Instance - SQL Server CEIP service (Instance)
- SQLPBDMS$Instance - SQL Server PolyBase Data Movement (Instance)
- SQLPBENGINE$Instance - SQL Server PolyBase Engine (Instance)
- MSSQLLaunchpad$Instance - SQL Server Launchpad (Instance)
Default Instance
- SQL Server (MSSQLSERVER)
- SQL Server Agent (MSSQLSERVER)
- SQL Server Analysis Service (MSSQLSERVER)
- SQL Server Reporting Service (MSSQLSERVER)
- Microsoft Full Text Search Service (Msftesql)
The Neverfail for SQL Server Plug-in will protect services and set them to manual.
Unprotected Services
These services should be left alone:
- SQL Server VSS Writer (SQLWriter)
The plug-in will determine at install time and at the configured discovery interval, the entire protected data set. Please note that exact filters will be based on the configuration of the application.
- All registry data and program files
- All installed SQL Server instances discovered at install time
- All the databases for the protected SQL Server instances
Automatic File Filter Discovery
This plug-in provides a filter discovery task.
- The plug-in will automatically protect all newly created databases for SQL Server
- For detailed information about Automated Filter Discovery in Neverfail for SQL Server Plug-in, please refer to Knowledgebase article #398 - 'Automated filter discovery in Neverfail for SQL Server'.
Note: The information provided in the DSN SQL Server connection file must specify a user account with a minimum of, read access to the SQL Master database. The filter discovery task uses the DSN connection information to query SQL Server and create the file filters.
Installing a New Instance of SQL Server (recommended)
If you install a new instance of SQL Server after Neverfail for SQL Server has been installed, then this new instance must also be available on the Secondary machine. The safest method of ensuring that the installation and configuration are identical on both servers is to perform the following procedure:
- Shutdown the Engine Service and leave the protected applications running.
- Install the new instance of SQL Server on the Primary server.
- Install an identical instance location/configuration on the Secondary server.
- Restart the Engine Service.
- Using the EMS Web UI (or Advanced Management Client), navigate to Application -> Tasks.
- For SQL Server, select the Protected Service Discovery periodic task and click the Run Now button.
- Check that the services of the new instance of SQL Server have been correctly added and marked as Running on the active server and Stopped on the passive server.
The SQL Server Plug-in will automatically detect the services and files for the new instance.
Unsupported Components or Features
This plug-in does not protect the following application features or components:
- The following SQL Server 2012/2014/2016 features are not supported: SQL Server AlwaysOn Availability Groups/Failover Clusters, SQL Server File Tables, Semantic Search, SQL Server Express LocalDB feature, SQL Server Data Files in Windows Azure, Host a SQL Server Database in a Windows Azure Virtual Machine
- Full Text Catalogue protection is disabled by default (protection is not recommended because of the presence of sparse files. It can be enabled from the EMS Web UI (or Advanced Management Client).
- Select the Application tab
- Plug-ins tab.
- Select the SqlServerNFPlugin.dll
- Select the Edit button.
- Enable the check box ‘Protect the index catalogues’ and press OK.
- If new SQL Server Instances are created post install please refer to Section Installing a New SQL Server Instance.
- Protecting the reports generated by the SQL Server Reporting Service, published via an IIS Web Server Virtual Directory, Neverfail for IIS is required.
- The Report and Analysis projects created with the Business Intelligence Development Studio are not protected by default. In order for them to be protected, a File Filter must be defined manually for the user location where they are saved.
- SQL Server VSS Writer (SQLWriter) is a demand start service that is run when required.
- The Mssqlserveradhelper service is not monitored or protected because it is a demand start service.
- Jobs temporary directory. Note: If you wish to have the Jobs Output files replicated between servers, create a file filter for the Jobs Directory.
Applies To
Neverfail for SQL Server Plug-in
Related Information
None
KBID-2998