GRANT OPTIONGRANT OPTION지정된 사용 권한을 다른 보안 주체에게 부여할 수 있는 권한도 피부여자에게 제공됨을 나타냅니다.Indicates that the grantee will also be given the ability to grant the specified permission to other principals.

AS principalAS principal권한의 부여자로 기록된 보안 주체가 해당 명령문을 실행하는 사용자 이외의 보안 주체여야 한다는 것을 표시하려면 AS principal 절을 사용합니다.Use the AS principal clause to indicate that the principal recorded as the grantor of the permission should be a principal other than the person executing the statement.예를 들어 Mary라는 사용자가 principal_id 12이고 Raul이라는 사용자는 principal 15라고 가정해 보겠습니다.For example, presume that user Mary is principal_id 12 and user Raul is principal 15.Mary가 GRANT SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul;을 실행합니다. 이제 sys.database_permissions 테이블에 실제로 사용자 13(Mary)이 명령문을 실행했지만 grantor_prinicpal_id가 15(Raul)임이 표시됩니다.Mary executes GRANT SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Now the sys.database_permissions table will indicate that the grantor_prinicpal_id was 15 (Raul) even though the statement was actually executed by user 13 (Mary).

WITH GRANT OPTIONWITH GRANT OPTION

GRANT …The GRANT …WITH GRANT OPTION은 사용 권한을 받는 보안 주체에게 다른 보안 계정에 지정된 권한을 부여할 수 있는 권한이 부여되도록 지정합니다.WITH GRANT OPTION specifies that the security principal receiving the permission is given the ability to grant the specified permission to other security accounts.사용 권한을 받는 보안 주체가 역할 또는 Windows 그룹인 경우, 그룹 또는 역할의 멤버가 아닌 사용자에게 개체 권한을 추가로 부여해야 할 때는 AS 절을 사용해야 합니다.When the principal that receives the permission is a role or a Windows group, the AS clause must be used when the object permission needs to be further granted to users who are not members of the group or role.그룹 또는 역할이 아니라 사용자만 GRANT 문을 실행할 수 있으므로 그룹 또는 역할의 특정 멤버는 사용 권한을 부여할 때 AS 절을 사용하여 역할 또는 그룹 멤버 자격을 명시적으로 호출해야 합니다.Because only a user, rather than a group or role, can execute a GRANT statement, a specific member of the group or role must use the AS clause to explicitly invoke the role or group membership when granting the permission.다음 예에서는 역할 또는 Windows 그룹에 부여될 때 WITH GRANT OPTION이 사용되는 방법을 보여 줍니다.The following example shows how the WITH GRANT OPTION is used when granted to a role or Windows group.

-- Execute the following as a database owner
GRANT EXECUTE ON TestProc TO TesterRole WITH GRANT OPTION;
EXEC sp_addrolemember TesterRole, User1;
-- Execute the following as User1
-- The following fails because User1 does not have the permission as the User1
GRANT EXECUTE ON TestMe TO User2;
-- The following succeeds because User1 invokes the TesterRole membership
GRANT EXECUTE ON TestMe TO User2 AS TesterRole;

sysadmin 고정 서버 역할의 멤버와 같이 CONTROL SERVER 사용 권한이 부여된 사용자는 서버의 모든 보안 개체에 대한 사용 권한을 부여할 수 있습니다.Grantees of CONTROL SERVER permission, such as members of the sysadmin fixed server role, can grant any permission on any securable in the server.db_owner 고정 데이터베이스 역할의 멤버와 같이 데이터베이스에 대한 CONTROL 사용 권한이 부여된 사용자는 데이터베이스의 모든 보안 개체에 대한 사용 권한을 부여할 수 있습니다.Grantees of CONTROL permission on a database, such as members of the db_owner fixed database role, can grant any permission on any securable in the database.스키마에 대한 CONTROL 권한이 부여된 사용자는 스키마 내의 모든 개체에 대한 사용 권한을 부여할 수 있습니다.Grantees of CONTROL permission on a schema can grant any permission on any object within the schema.