Create SQL Sets

SQL Sets are SQL queries that return a collection of resource objects from the EmpowerID Identity Warehouse, such as all people who have been hired in the last week. You can add these Sets to Query-Based Collections (SetGroups) and use them to make dynamic RBAC delegation assignments.

You cannot create SQL sets with queries that delete, drop, or update objects in the Identity Warehouse. For example, DELETE FROM PersonCommunicationType WHERE CommunicationTypeID = 2 is not acceptable. If you create a SQL set with such a query, EmpowerID cancels the operation and displays a message stating that the SQL Filter (query) is invalid.

The Set Compiler Job must be enabled on at least one EmpowerID Server hosting the Worker Role service, and the person creating the Set must have certain Access Level assignments. The job is enabled by default on all EmpowerID application (back-end) servers.

Create a SQL Set

  1. On the navbar, expand Role Management and select Query-Based Collections (SetGroups).

  2. Select the Actions tab and then click Create Query (Set).

    image-20241004-164531.png



  3. Enter the following information in the General section of the Set Details form that appears:

    • Query (Set) Type – Select SQL Query

    • Name – Name of the Set

    • Display Name – Display Name of the Set

    • Description – Description of the Set

    • Object Type – Select the object type. For example, if the Set returns people, select EmpowerID Person; if it returns groups select Group, etc.

  4. In the Filter section of the Set Details form, in the SQL Query field, enter a SQL query that returns the desired objects. In this example, the Set returns all people hired within the last five days. Queries must begin by returning the GUID and FriendlyName of the objects or they will fail when compiled.

    Select PersonGUID, FriendlyName FROM Person (NOLOCK) WHERE CreatedDate BETWEEN DATEADD(day,-5, GETUTCDATE()) AND GETUTCDATE();

     

  5. Select Is Enabled to enable EmpowerID to compile the Set (selected by default).

  6. Click the Schedule Interval drop-down and set the schedule for when and how often the Set compiles. In this example, the Set compiles once every day at 8 am. To do this:

    • Set the Start and End dates

    • Set the Interval to Daily

    • Set the Iterations to 1

    • Set the Times (compilation time) to 8:00 am

       

  7. Select Do Not Allow Delete to prevent users from deleting the Set in the EmpowerID interface.

  8. Select Create Matching Set Group if you want EmpowerID to create a Set Group (Query Based Collection) when the Set is created (recommended).

  9. Select Is Collection of Assignees if the query returns people.

  10. Click Select a Location and search for and select the creation location for the Set. This is used for RBAC access to view the set in the EmpowerID location trees.

  11. Click Save.