Neverfail for SQL Server Plug-in Version 201.5.14 - Release Notes

Neverfail for SQL Server Plug-in Version 201.5.14 - Release Notes

Summary

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 both the data and service items used by SQL Server application, and also monitors aspects of the application and its environment that could affect availability.

What's new

The following new features are available in this redesigned version of SQL Server Plug-in:

  • SQL Server instance based protection
    • SQL Server instances exclusion from protection mechanism available on plugin configuration
  • SQL Server database level protection
    • SQL Server databases exclusion from protection mechanism available on plugin configuration
  • Support for SQL Server Authentication and Windows Authentication
    • minimal required SQL Server permissions configuration
  • Database snapshots discovery and protection
    • Database Snapshots are discovered and protected by default. Their protection status is the same as the source database protection status, i.e.: if a database is included in the protected set then the associated snapshot files are also included; excluding a database from protection will also exclude its associated snapshot files from protection.
  • SQL Reporting Services private keys protection available on plugin configuration (updates)
  • SQL Server Express LocalDB and Windows internal Database immunity - SQL Server plug-in ignores now completely eventual installed versions of SQL Server LocalDB and Windows internal Database 

Supported Versions of Microsoft SQL Server

x64 / Intel 64 Platform (64-bit hardware)

  • SQL Server 2017 Standard, Enterprise, and Express Editions on
    • Windows Server 2016 Standard and Datacenter
    • Windows Server 2012 R2 Standard and Datacenter
  • SQL Server 2016 up to SP2 Standard, Enterprise, and Express Editions on
    • Windows Server 2016 Standard and Datacenter
    • Windows Server 2012 R2 Standard and Datacenter
    • Windows Server 2012 Standard and Datacenter
  • SQL Server 2014 up to SP3 Standard, Enterprise, and Express Editions on
    • Windows Server 2012 R2 Standard and Datacenter
    • Windows Server 2012 Standard and Datacenter
    • Windows Server 2008 R2 SP1 Standard and Enterprise
  • SQL Server 2012 up to SP4 Standard, Enterprise, and Express Editions on
    • Windows Server 2012 R2 Standard and Datacenter
    • Windows Server 2012 Standard and Datacenter
    • Windows Server 2008 R2 SP1 Standard and Enterprise
  • SQL Server 2008 R2 up to SP3 Standard, Enterprise, and Express Editions on
    • Windows Server 2012 R2 Standard and Datacenter
    • Windows Server 2012 Standard and Datacenter
    • Windows Server 2008 R2 SP1 Standard and Enterprise
  • SQL Server 2008 up to SP4 Standard, Enterprise and Express Editions on
    • Windows Server 2012 R2 Standard and Datacenter
    • Windows Server 2012 Standard and Datacenter
    • Windows Server 2008 R2 SP1 Standard and Enterprise 
  • Server 2005 SP4 Standard, Enterprise and Express Editions on
    • Windows Server 2008 R2 SP1 Standard and Enterprise

Note: The IA-64 Itanium Platform is not supported

Fixed Issues

  • Filter discovery does not protect database snapshots created outside of system database directory (Ref-13236).

Known Issues

  • Reporting Services Web Service and Web Portal URLs fail to start after URL reconfiguration. RSPortal<TimeStamp>.log contains following error System.Net.HttpListenerException: Access is denied. This is a known SSRS 2016 and 2017 issue which can be solved as described in the following procedure. Workaround: In RSConfigTool go to Web Portal URL> Advanced or Web Service URL> Advanced and remove the existing URL reservation. Apply changes then open Advanced configuration again and re-add the URL configuration you had before and click Apply. More details about this issue can be found in this discussion thread. (EN-3600)
  • Reporting Service (SSRS) service fails to start after switchover due to: The service did not start due to a logon failure. This happens when the Reporting Service is (re)configured with a new domain or local user logon account after Neverfail Engine deployment. Workaround: The password for the (re)configured SSRS logon account should be re-typed on the newly active server after the switchover. Recommendation: Reporting Service account reconfiguration should be performed either with Neverfail Engine configured for manual application maintenance (un-protect services) or with Neverfail Engine service stopped. For a correct and successful Reporting Server (re)configuration please follow the How to Reconfigure SQL Server Reporting Services when it's being protected by Neverfail Continuity Engine procedure.
  • SQL Server application health is falsely set to degraded when (re)configuring the SQL Server plugin. Health status is set to: "Failed 'Configure' after 3ms with status Plug-in task failed:Invalid user name or password. (System.Exception: Invalid user name or password {...}". The tasks and rules using the credentials are executing correctly.  App health is falsely set to degraded: "Failed 'Configure' after 3ms with status Plug-in task failed:Invalid user name or password. (System.Exception: Invalid user name or password {...}". Workaround: Execute action: Clear application health. (EN-3615)
  • Applies to SQL Server 2014 using In-Memory Optimized Tables: After a switchover is performed the user might see a warning message in the user-interface or logs stating that a certain Instance/Database is in a recovery state and the "Database Online Status" rule is unable to mark that instance/database as being ONLINE; Example "Rule Triggered: The following databases are not online: Instance/Database RECOVERING. File filters will be removed for these databases. They will be restored when the databases come back online: OFFLINE DBs detected" (Ref-EN-329). Explanation/Workaround: This is just a temporary/misreported state, which doesn't affect SQL Plugin functionality. If a database is using in-memory tables, when SQL Server 2014 is started, SQL Server will rebuild the database from the checkpoint files stored on the disk. Once the "In Recovery" state is cleared out, the user can open the Neverfail Advanced Management Client -> Applications tab -> Summary tab -> click the Clear button. 
  • SQL Server 2012 File Tables are not supported. See Knowledgebase article #2495 - Neverfail for SQL Server Replication Stops in the Presence of SQL Server 2012 File Tables for more information (Ref-13103). 
  • MSDTC.log file location changes are not replicated to the passive server(s) (Ref-13106).
    Workaround: Please see Knowledgebase article #2480  - Neverfail for SQL Server Plug-in Does Not Replicate MSDTC.Log File Location Changes to the Passive Servers.

Design considerations

  • SQL Server Plug-in reverts to the default Local System account if incomplete username credentials are provided for filter discovery (Ref-13245).
  • 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 plug-in failing to authenticate (Ref-13246).

  

SQL Server Plug-in Configuration

Neverfail for SQL Server Plug-in requires post-install configuration in order to assure a correct and complete protection of the SQL Server data files. As long as the required configuration is not completed, a warning is logged each time the File Filter Discovery task is executed.

To configure the Neverfail for SQL Server Plug-in:

  • in Engine Management Service go to Settings> select SqlServerNFPlugin.dll> Edit
  • in Advanced Management Client go to Applications> Plugins> select SqlServerNFPlugin.dll> Edit Plug-in

then:

Authentication

  • [Mandatory/Recommended] if protecting SQL Server version 2017, 2016 or 2014

    The database security model is different starting from SQL Server 2012 version; in order for filter discovery to connect and query the database, it requires a Windows or SQL Server Authentication with minimal required permissions as described below:

    • if SQL Server Authentication, then configure the plugin with a SQL Login created as described below:
      • an unique/shared SQL Server Login with the minimal required permissions (as indicated in the following script) must be created on each one of the protected SQL Server instances. This account will be used by the plug-in to detect the SQL Server instances datafiles: (replace <Password> with the desired password)
        USE [master]
        GO
        CREATE LOGIN [neverfail] WITH PASSWORD=N'<Password>'
        , DEFAULT_DATABASE=[master]
        , CHECK_EXPIRATION=ON
        , CHECK_POLICY=ON
        GO
        GRANT CONNECT SQL TO [neverfail]
        GO
        GRANT CONNECT ANY DATABASE TO [neverfail]
        GO
        GRANT VIEW ANY DATABASE TO [neverfail]
        GO
        GRANT VIEW ANY DEFINITION TO [neverfail]
        GO
        GRANT VIEW SERVER STATE TO [neverfail]
        GO
    • if Windows Authentication, then configure the user as described below:
      • the minimal required permissions (as indicated in the following script) must be granted to the same/unique/share Windows user account, on each one of the protected SQL Server instances. This account will be used by the plug-in to detect the SQL Server instances datafiles: (replace <windows-user> with the desired user name)
        USE [master]
        GO
        GRANT
        CONNECT SQL TO [<windows-user>] GO
        GRANT CONNECT ANY DATABASE TO [<windows-user>] GO GRANT VIEW ANY DATABASE TO [<windows-user>] GO GRANT VIEW ANY DEFINITION TO [<windows-user] GO GRANT VIEW SERVER STATE TO [<windows-user] GO
    • Important: If there are multiple instances of SQL Server and at least once instance is SQL Server 2014 or newer, then each instance must be configured with the same User name or Login
  • [Mandatory for SQL 2012/Optional for older versions] if protecting SQL Server version 2012 (mandatory) or older 2008R2, 2008, 2005SP4 (optional)

    • if SQL Server Authentication, then configure the plugin with a SQL Login created as described below:
      • an unique/shared SQL Server Login with the minimal required permissions (as indicated in the following script) must be created on each one of the protected SQL Server instances. This account will be used by the plug-in to detect the SQL Server instances datafiles: (replace <Password> with the desired password)
        USE [master]
        GO
        
        CREATE LOGIN [neverfail] WITH PASSWORD=N'<Password>', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
        GO
        
        GRANT CONTROL SERVER TO [neverfail] GO DECLARE @permission VARCHAR(50) DECLARE @statement NVARCHAR(max) DECLARE row_cursor CURSOR LOCAL FAST_FORWARD FOR SELECT permission_name FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name NOT IN ('CONTROL SERVER', 'CONNECT SQL', 'VIEW ANY DATABASE', 'VIEW ANY DEFINITION'); OPEN row_cursor FETCH NEXT FROM row_cursor INTO @permission WHILE @@FETCH_STATUS = 0 BEGIN SELECT @statement = 'DENY ' + @permission + ' TO [neverfail];' exec sp_executesql @statement FETCH NEXT FROM row_cursor INTO @permission END CLOSE row_cursor DEALLOCATE row_cursor
    • if Windows Authentication, then configure the user as described below:
      • the minimal required permissions (as indicated in the following script) must be granted to the same/unique/share Windows user account, on each one of the protected SQL Server instances. This account will be used by the plug-in to detect the SQL Server instances datafiles: (replace <windows-user> with the desired user name) 
        USE [master]
        GO
        
        GRANT CONTROL SERVER TO [<windows-user>]
        GO
        DECLARE @permission VARCHAR(50)   
        DECLARE @statement NVARCHAR(max)
        DECLARE row_cursor CURSOR
        
        LOCAL FAST_FORWARD
        FOR  
        SELECT permission_name 
        FROM fn_my_permissions(NULL, 'SERVER')
        WHERE permission_name 
        NOT IN ('CONTROL SERVER',
        	'CONNECT SQL',
        	'VIEW ANY DATABASE',
        	'VIEW ANY DEFINITION');
         
        OPEN row_cursor
        FETCH NEXT FROM row_cursor INTO @permission  
        WHILE @@FETCH_STATUS = 0  
        BEGIN  
        
        SELECT @statement = 'DENY ' + @permission + ' TO [<windows-user>];'
        
        exec sp_executesql @statement
        
        FETCH NEXT FROM row_cursor INTO @permission  
        END  
        CLOSE row_cursor
        DEALLOCATE row_cursor
  • [Default option] if protecting SQL Server version 2008 R2, 2008 or 2005SP4  

    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. 

    However, the minimal required

Note: SQL Server Authentication is available only if SQL Server is installed with Mixed-mode authentication

Exclude SQL Server instances from protection

  • [Optional] Exclude SQL Server instances from protection (list of SQL instances, separated by semicolon)- this configuration is optional and should be used only for excluding SQL Server instance(s) from protection. To exclude a SQL Server (or multiple) instance(s) simply enumerate the SQL Server instance name(s) in Edit box (e.g. configuration: MSSQLSERVERSQLNamedInstance) and their services, configuration and application data files will be excluded from protection.

Exclude SQL Server databases from protection

  • [Optional] Databases to be excluded from protection (list as instance/database, separated by semicolon)- this configuration is optional and should be used only for excluding SQL Server databases(s) from protection. To exclude a SQL Server(or multiple) database(s) simply enumerate the SQL Server database name(s) per instance in Edit box (e.g. configuration: MSSQLSERVER/database; SQLNamedInstance/database) and their database data files and any existing snapshot files will be excluded from protection.

Protecting Reporting Services Private Keys

Protect offline databases

  • [Optional] Protect offline databases and exclude them from online status check - this option enable offline database protection. This option applies to all the database data files and any existing snapshot files.

Full-text index catalogs protection

  • [Optional] Full-text index catalogs protection enabled (SQL Server 2000 or 2005 only) - this option apply only for SQL Server 2000 or 2005 and enables Full-text index catalogs protection

 

Application Discovery and Protection

Automatic Application Discovery

Neverfail for SQL Server Plug-in automatically discovers the SQL Server installed instances and shared features, assuring protection for both application discovered data and detected services. The protected set list is verified and updated periodically through a set of dedicated tasks: 

  • Protected Services Discovery
  • File Filter Discovery
  • Registry Filter Discover

The plug-in will automatically protect all newly created SQL Server databases.

 

Protected Service Discovery

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.

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 14.0 (SSISTELEMETRY140) – SQL 2017
  • SQL Server Analysis Services CEIP (MSSQLSERVER) - (SSASTELEMETRY)
  • SQL Server CEIP service (MSSQLSERVER) – (SQLTELEMETRY)
  • SQL Server PolyBase Engine (MSSQLSERVER) – (SQLPBENGINE)
  • SQL Server PolyBase Data Movement (MSSQLSERVER) – (SQLPBDMS)
  • SQL Server Launchpad (MSSQLSERVER) – (MSSQLLaunchpad)
  • SQL Full-text Filter Daemon Launcher (MSSQLSERVER) – (MSSQLFDLauncher)
  • SQL Server Integration Services 14.0 (MsDtsServer140) – SQL 2017
  • SQL Server Integration Services Scale Out Master 14.0 (SSISScaleOutMaster140) - SQL 2017
  • SQL Server Integration Services Scale Out Worker 14.0 (SSISScaleOutWorker140) - SQL 2017
  • 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
  • SQL Server Reporting Services (SQLServerReportingServices) - SQL 2017

Instance specific services

  • MSOLAP$Instance - SQL Server Analysis Services (Instance)
  • MSSQL$Instance - SQL Server (Instance) 
  • MSSQLFDLAUNCHER$Instance - SQL Full-Text Filter Daemon Launcher (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)
  • 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

 

Application Monitoring  

The monitoring of SQL Server and its system environment can be broadly categorized into the following areas:

  • Database File Monitoring and Replication
  • Database Protection and Monitoring Exclusion 
  • Availability Monitoring
  • Performance Monitoring

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:

  1. Using the EMS Web UI ( or Advanced Management Client), click on Application -> Tasks.
  2. Select the desired Task.
  3. Click on the Edit button at the top of the Tasks pane.
  4. Configure/modify the Interval field. 

    Note: Interval is the only field available for configuration/modification and is measured in seconds (secs).
  5. 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.14 users can specify databases to be excluded from protection and monitoring. This option allows for one or more databases to be excluded from filter discovery tasks and also 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:

  1. Using the EMS Web UI (or Advanced Management Client), navigate to Data: File Filters.
  2. Identify and select the applicable database file filter.
  3. Click Edit.
  4. Clear the Enabled check box.
  5. Click OK.
  6. Navigate to Applications: Plug-ins.
  7. Select the Neverfail for SQL Server Plug-in.
  8. Click Edit.
  9. In the Databases to excluded from rule checks field, enter the instance/database. When entering multiple databases, separate each with a semicolon (";").
  10. 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:

  1. Using the EMS Web UI (or Advanced Management Client), navigate to Applications: Plug-ins.
  2. Select the Neverfail for SQL Server Plug-in.
  3. Click Edit.
  4. Select the option to Protect offline databases.
  5. Click OK

 

Availability Monitoring

Neverfail Continuity Engine 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.

Rules - The following Availability Monitoring 'Rules' are installed by Neverfail for SQL Server Plug-in:

  •  Database Availability
    • Executes a stored procedure.
    • Checks the SQL Server Instance is capable of responding within the designated period.
  • DB Files Allocated Space
    • Compare data files allocated space vs. used space.
  • Database Online Status
    • Get Status from DATABASEPROPERTYEX on all databases for all instances.

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 Continuity Engine 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.

Rules - The following Performance Monitoring 'Rules' are installed by Neverfail for SQL Server Plug-in:

Applicable to SQL Server Default and/or Named instances (if present):

  • Average Wait Time
  • Batch Requests/sec
  • Buffer Cache Hit Ratio
  • Cache Hit Ratio
  • Full Scans/sec
  • Number of Deadlocks/sec
  • Total Server Memory
  • User Connections

Applicable to SQL Server First/Second instance(s) (if present):

  • Page File Bytes
  • Processor Time %
  • Virtual Bytes
  • Working Set

Notes:

  1. 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'
  2. 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:

  1. Using the Advanced Management Client, click on Application -> Rules.
  2. Select the desired Rule.
  3. Click on the Edit button at the top of the Rules pane.
  4. 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'.
  1. Click OK to save the changes.

Note: This dialog is also used to Enable/Disable the selected 'Rule'.

 

Installing a New Instance of SQL Server (recommended)

Note: Starting with Neverfail Engine 8.5 this can be done also via the Upgrade Applications path, which briefly, means adding a new instance only on the Primary server followed by the Passive server(s) Recloning.  For older Neverfail Engine versions or in the scenarios where the Recloning method cannot be used, we recommend using the legacy procedure:

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:

  1. Shutdown the Engine Service and leave the protected applications running.
  2. Install the new instance of SQL Server on the Primary server.
  3. Install an identical instance location/configuration on the Secondary server.
  4. Restart the Engine Service.
  5. Using the EMS Web UI (or Advanced Management Client), navigate to Application -> Tasks.
  6. For SQL Server, select the Protected Service Discovery periodic task and click the Run Now button.
  7. 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/2017 features are not supported:
    • SQL Server AlwaysOn Availability Groups/Failover Clusters
    • SQL Server File Tables
    • Semantic Search
    • SQL Server Express Edition (LocalDB)
    • Windows Internal Database (WID)
    • SQL Server Data Files in Windows Azure
    • Host a SQL Server Database in a Windows Azure Virtual Machine
  • Full Text Catalog 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 plugin 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.

 

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:

  1. Unzip the Neverfail for SQL Server Plug-in to the desired location. 
  2. Launch the Advanced Management Client.
  3. Navigate to Application -> Plugins.
  4. Click on the Install button.
  5. Click the Browse button and navigate to the location of the SqlServerNFPlugin.dll file.
  6. 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:

  1. Launch the Advanced Management Client.
  2. Navigate to Application -> Plugins.
  3. Select the desired plug-in to be removed/uninstalled.
  4. Click on the Uninstall button in the Plugins pane.
  5. 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:
  6. Copy the contents of the r2\plugins\<sponsor>\<version> folder to a different location (e.g. C:\temp).
  7. Delete the contents of the r2\plugins\<sponsor>\<version> folder.
  8. 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.

 

Applies To

Neverfail for SQL Server Plug-in v201.5.14

    • Related Articles

    • Neverfail for SQL Server Plug-in Version 201.5.13 - Release Notes

      Summary This Knowledgebase article provides information about this specific release of the Neverfail for SQL Server Plug-in V201.5.13 What's new Changes since previous version: Support for SQL Server 2017 editions Added an option to include the SQL ...
    • Neverfail for SQL Server Plug-in v201.5.11 - Release Notes

      Summary This Knowledgebase article provides information about this specific release of the Neverfail for SQL Server Plug-in V201.5.10 More Information The Neverfail for SQL Server Plug-in provides file and registry filters that replicate critical ...
    • Neverfail for SQL Server Plug-in Version 201.5.15 - Release Notes

      Summary 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 both the data and service items used by SQL Server ...
    • SQL Server Plugin Version 201.5.16 - Release Notes

      Summary The SQL Server Plugin is an add-on to Neverfail Continuity Engine, which provides protection for Microsoft SQL Server. It configures Neverfail Continuity Engine to protect both the data and service items used by SQL Server application, and ...
    • Neverfail for SQL Server Plug-in Version 201.5.11 - Online Help

      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 ...