Skip to main content

Hi

I originally set up my semantic layer data models with dynamic RLS, using rules defined in a table in TX, but then switched to using a setup with manual RLS. I then removed the dynamic tables from the semantic layer and preceding data pipelines, but when I redeploy my semantic models the removed security table reappears. Any advice?

TX Version: 6745.1

Ran the [SQL Database Cleanup Tool] and identified 3 redundant tables no longer used to facilitate RLS security in the semantic layer

In this example I will be dropping the 'AR' related object

Here we can see the same object via SSMS

Then dropped the 'AR' related table, and can now only see the remaining 2 redundant objects

 

 


And here we can also see the 'AR' related table object now no longer shows in the DB in SSMS

Deployed and Executed the AR semantic layer

And now we can see the 'AR' related redundant object has now re-appeared

 


Hi @Paul Bridge 

You are right about it being a table that is located by the cleanup tool. I suppose because it isn’t actually part of the Prepare instances data areas. So it will still exist as a table once you turn it back to use a dynamic one.

No matter if you use a dynamic or a manual setup a security table will be created in the database.

If you run the cleanup after changing the setup and deploying the model, does it then still exist once you turn it back to be dynamic?


Hi Thomas

Ah - now I understand. It’s not the initial dynamic RLS setup that I am seeing listed here, its the manual RLS setup. I assumed it was a legacy table left over from when I originally set up the dynamic RLS, but now that I have run SELECT on the table from the DB I can see it refers to the manual RLS setup.

If that's the case then all good, unless there is a way of ‘hiding’ these active RLS tables from the ‘SQL Database Cleanup Tool’

Regards

Paul


Hi,

in my opinion these should not be shown in the cleanup tool as removing them can mess with things. If Deliver instances create objects in Prepare instance databases, they should be tracked as such.


Reply