Can't "Script Database As -> CREATE TO" with SSMS 2008R2 and 2016
I opened a connect feedback here: https://connect.microsoft.com/SQLServer/feedback/details/2869241
as follow:

"A SQL Login, mapped to a database user member of the db_owner role cannot script out the database with "Script Database As" or "Generate Script" task when using SSMS 2008, 2008R2, 2016.
It gets the following error message "Could not read metadata possibly due to insufficient access rights.
Granting the login "View any definition" solve it but this cannot be a workaround for obvious security reason.

(Tested with SQL2008, SQL2014 and SQL2016 instances installed on VMware virtual machines.)"