Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself

When you try to give GRANT EXECUTE permission to some SQL Objects then smetimes you might encounter below issue:-

Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself

Resolutions:-
As per the comments, if you're already the db owner of that database, than you don't need to grant any permission for the db.

Now, in order to find out what specific permissions you have, you can use the following queries:

USE AdventureWorks2008R2;
SELECT * FROM fn_my_permissions (NULL, 'DATABASE');
GO

Meaning of SET ANSI_NULL ON

When create or alter SQL objects in Query Analyzer, We used below commands before the objects:-
SET QUOTED_IDENTIFIER ON
GOSET ANSI_NULLS ON
GO


ANSI NULL ON/OFF:
This option specifies the setting for ANSI NULL comparisons. When this is on, any query that compares a value with a null returns a 0. When off, any query that compares a value with a null returns a null value.
When
SET ANSI_NULL ON
it means ISO Standard is being followed.
= and <> should not be used for null comparison.

If you want to use = or <> for null comparison use
SET ANSI_NULL OFF
QUOTED IDENTIFIER ON/OFF:
This options specifies the setting for usage of double quotation. When this is on, double quotation mark is used as part of the SQL Server identifier (object name). This can be useful in situations in which identifiers are also SQL Server reserved words.
It specifies how SQL Server treats the data that is defined in Single Quotes and Double Quotes. When it is set to ON any character set that is defined in the double quotes “” is treated as a T-SQL Identifier (Table Name, Proc Name, Column Name….etc) and the T-SQL rules for naming identifiers will not be applicable to it. And any character set that is defined in the Single Quotes ‘’ is treated as a literal.