roles are ignored in stored procedures, you need direct priveleges on the objects (the role that system has is dba)