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 also monitors aspects of the application and its environment that could affect availability.
What's new
Support for SQL Server 2019 Standard, Enterprise, and Express Editions running on
- Windows Server 2019 Standard and Datacenter
- Windows Server 2016 Standard and Datacenter
This version of SQL Server Plugin contains a series of fixes and improvements for the new features and changes released in the previous version (201.5.15) of this plug-in:
- EN-4439: Fix DB Files Allocated Space rule for SQL 32bit instances missing counters
- EN-4565: Fix Database Online Status rule for excluded Protected instances.
Supported Versions of Microsoft SQL Server
64-bit and 32-bit (where applicable) / Intel 64 Platform (64-bit hardware)
- SQL Server 2019 Standard, Enterprise, and Express Editions on
- Windows Server 2019 Standard and Datacenter
- Windows Server 2016 Standard and Datacenter
- 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.
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 - 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 - SQL Server Plugin Does Not Replicate MSDTC.Log File Location Changes to the Passive Servers. - Error creating some 32-bit SQL counters on x64 OSes (EN-4178).
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 SQL Server Plugin, 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
SQL Server Plugin 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 SQL Server Plugin:
- 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 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 SQL Server Plugin’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: MSSQLSERVER; SQLNamedInstance) 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
- [Mandatory] Protecting Reporting Services Private Keys- this option it's required to be enabled if protecting SQL Server Reporting Services.
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
SQL Server Plugin 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. SQL Server Plugin 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 Version (SSISTELEMETRY140) – SQL 2017
- SQL Server Integration Services CEIP service Version (SSISTELEMETRY150) – SQL 2019
- 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 Version (MsDtsServer140) – SQL 2017
- SQL Server Integration Services Version (MsDtsServer150) – SQL 2019
- SQL Server Integration Services Scale Out Master Version (SSISScaleOutMaster140) - SQL 2017
- SQL Server Integration Services Scale Out Master Version (SSISScaleOutMaster150) -SQL 2019
- SQL Server Integration Services Scale Out Worker Version (SSISScaleOutWorker140) - SQL 2017
- SQL Server Integration Services Scale Out Worker Version (SSISScaleOutWorker150) - SQL 2019
- 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 SQL Server Plugin 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 SQL Server Plugin 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.
SQL Server Plugin 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 SQL Server Plugin 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 SQL Server Plugin 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 SQL Server Plugin:
- 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 SQL Server Plugin 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:
- 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 SQL Server Plugin.
- 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 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 SQL Server Plugin.
- Click Edit.
- Select the option to Protect offline databases.
- 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 SQL Server Plugin:
- 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.
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 SQL Server Plugin:
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:
- 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'.
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 SQL Server plugin 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/2017/2019 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, 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 SQL Server Plugin Via the Advanced Management Client
To install the SQL Server Plugin, follow the steps below:
- Unzip the SQL Server Plugin 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 SQL Server Plugin, 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 SQL Server Plugin, 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.
Applies To
SQL Server Plugin v201.5.16