Roles in SQL Server help us to manage security by allowing us to assign permissions to a role, or group of users, instead of to individual users. There are mainly two types of roles server roles and database roles.
Server roles are for server tasks and they are not specific to a given database. It only has fixed roles such as sysadmin and securityadmin or cannot be changed by a user. There are 9 fixed server roles. These tasks include changing the configuration of the server, change permissions on databases, to administer server instances and even shutdown the server. The previous statement holds true only for those versions prior to SQL Server 2012.
Database Roles will be used to group server principals that have the same permission in the database and there are fixed and flexible roles. Fixed roles such as db_datareader and db_datawriter are built-in roles and flexible roles are user defined roles and can be changed as needed.
To get list of server roles we could use sp_helpsrvrole
And to see what permissions each of the roles of them has we could use sp_srvrolepermission
To see the fixed database roles we could use sp_helpdbfixedrole