Sql-server – Prevent Data Sources from being deployed outside designated folder

sql serversql-server-2008ssrs

Before I just go ahead and put a really awful check constraint on the Catalog table, I wanted to solicit some better ideas first.

I want to ensure that all shared data sources on our report server are deployed to "/Data Sources". Every now and then, we get one mistakenly deployed to some other directory (particularly if it's a report upgraded from SSRS 2000, which didn't allow specifying a different data source deployment location).

I can put an ugly check constraint on Catalog (Type != 5 OR ParentID = 'GUID of /Data Sources directory', or similar) if it comes down to it, but if there's a better option, I'd rather use that.

Best Answer

Why not change permissions so that folk can't deploy datasources to anything other than this folder?

So, remove "Manage data sources" from all folders except for /Data Sources. This can be done at root level and then set custom permissions on /Data Sources

You may need to setup a custom role for this if you can't change the existing ones.