Database deployment with IgnoreUsers still drops users...
matthoneycutt
Posts: 11
My deployment has RedGateDatabaseOptionsIgnoreUsers=true, but about every other release is still dropping users from the target database. How can I tell Deployment Manager to completely ignore users when applying a release?
Comments
It actually affects how explicit permissions on objects are deployed:
If you want to exclude users altogether, you'd really need to look at using a Filter file in your package.
If you're using our SQL Source Control you can create a filter and check it into your repository as described here
You can also create a filter in SQL Compare if you use that - making sure you save the file as "Filter.scpf", and then include it in your package.
Redgate Software
I have a similar problem.
I am not using any filters and using default settings for the RGDM.
The problem in short is that role members are ignored when I want to deploy the database. I have looked up the SQL Compare default settings and it doesn't say it is set to true by default.
I have set it explicitly to false and it fixed my problem. The question remains: why is it not using the default settings for SQL Compare?
Cheers,
Balint
EDIT: I looked up the RGDM documentation and indeed it is set to true by default. Apologies for that. Additional question: is there a way to set the defaults other than per-project? We are using an alternate method to persist security objects and for that we need the option to be set to false at all of our projects.
In the case of SQL Compare, we tend to minimise the amount of default "ignore" options that are set so the majority of differences are available for deployment.
It basically comes down to a difference in the intended usage.
Redgate Software
Thanks for the info.
Now that I think, it makes sense to have it that way. I think it is our alternative way that made the difference in the deployment.
Thanks,
Balint
RedGateDatabaseOptionsIgnoreUsers does not actually ignore users. It has been badly named. According to the documentation, this is what it does:
To really ignore users, you will have to create a filter file in your database package. Those filter rules will then be respected when Deployment Manager does it deployments. Here is the relevant documentation: http://documentation.red-gate.com/displ ... deployment
There is a filter rule to do with filtering users, I have not used it myself, but it might be what you are looking for! Thanks!
Chirayu
Software Engineer - Deployment Manager
Red Gate