About Index Enable/Disable Rules
Published 04 June 2019
This documentation is only suitable for Data Masker for SQL Server.
When a column being masked is also indexed, an extra index update is needed for each masking operation performed. This can have the effect of dramatically slowing down the execution rate of the masking rule. Often such indexes are not necessary during masking. If this is the case, then such indexes can be disabled prior to execution of the masking rules and re-enabled again at the end. Indexes can be disabled and enabled by building specific Command rules for the purpose or if there are many of them, a Index Manager rule can be defined to automate the enable/disable process. An Index Manager rule is a container which manages the execution of a number of subsidiary actions which perform the index disable or enable.
The implementation of the index enable/disable operations as a manager was done to make the process simple and intuitive. A database can have many indexes and each disable/enable action requires the execution of a distinct SQL statement. Each operation must be recorded in the log and any errors must be detected and reported. If such actions were configured as individual rules in the masking set, then the large quantity of such rules could visually overwhelm the masking set - leaving it hard to maintain the other masking rules. It is much more efficient to collect all of the actions together under one rule which acts as a manager. The Index Manager Rule form provides the ability to view, configure and manage the index disable/enable actions and the Index Manager rule itself controls the execution of the configured disable/enable foreign key operations. Errors and statistics are handled by the Index Enable/Disable rule and presented to the user in a manageable summary form.
Important Note: The Index Manager rule is only aware of the indexes given to it by the Rule Controller. To refresh the list of indexes known to the Index Manager rule, first refresh the foreign keys in the Rule Controller using the Refresh Tables and Indexes button on Options tab of the edit Rule Controller form. This retrieves an up-to-date list from the target database. Once the Rule Controller has been updated and saved, a dialogue will popup to allow refreshing the index information in Index Managers rules automatically.
Once the Index Manager rule has begun to execute, the index disable/enable operations will proceed in parallel using the full number of threads specified on the Run Statistics tab until all specified indexes have been operated on.
If required, a Index Manager rule is usually configured (using Rule Blocks) to run in disable mode as the very first rule in the masking set. A second Index Manager rule is configured to run in enable mode as the very last rule in the masking set. This ensures the indexes are disabled during the masking operations and, hence, will not fire and slow the process down.
How to Create a New Index Manager rule