Script DB Level Permission Before Refresh to Non Prod Environment I am looking for a script that I can use to script out all database level permissions.


Script users \ permissions 
Restore DB From Prod to Non Prod
Drop Prod Users and Run script to apply original permissions 


There are a lot of scripts out there. But i am unsure which one to use. Would be great if someone can point me in the right direction.
You should obviously try using native SSMS functionality.
To scripts database users and their permissions use 'Generate script' context menu option of the database (right click db - tasks - generate scripts).
to restore database from Production to non-Production, again, use Script the action task and then modify it to suit your specific needs (right-click 'Databases' node - restore database - Script button on the upleft of the General tab).