저장 프로시저에 대한 사용 권한 부여Grant Permissions on a Stored Procedure

이 항목 적용 대상: 예SQL Server예Azure SQL 데이터베이스예Azure SQL 데이터 웨어하우스 예 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse 이 항목에서는 SQL Server Management StudioSQL Server Management Studio 또는 Transact-SQLTransact-SQL을 사용하여 SQL Server 2017SQL Server 2017에서 저장 프로시저에 대한 사용 권한을 부여하는 방법에 대해 설명합니다. This topic describes how to grant permissions on a stored procedure in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. 데이터베이스의 기존 사용자, 데이터베이스 역할 또는 응용 프로그램 역할에 사용 권한을 부여할 수 있습니다.Permissions can be granted to an existing user, database role, or application role in the database.

항목 내용In This Topic

시작하기 전 주의 사항Before You Begin

제한 사항Limitations and Restrictions

  • SQL Server Management StudioSQL Server Management Studio 를 사용하여 시스템 프로시저나 시스템 함수에 대한 사용 권한을 부여할 수 없습니다.You cannot use SQL Server Management StudioSQL Server Management Studio to grant permissions on system procedures or system functions. 이 경우 GRANT Object Permissions 를 사용하세요.Use GRANT Object Permissions instead.

보안Security

사용 권한Permissions

사용 권한을 부여한 사용자 또는 AS 옵션으로 지정한 보안 주체에게 GRANT OPTION을 통한 사용 권한이 있거나 부여할 사용 권한을 포함하는 상위 사용 권한이 있어야 합니다.The grantor (or the principal specified with the AS option) must have either the permission itself with GRANT OPTION, or a higher permission that implies the permission being granted. 프로시저가 속한 스키마에 대한 ALTER 권한 또는 프로시저에 대한 CONTROL 권한이 필요합니다.Requires ALTER permission on the schema to which the procedure belongs, or CONTROL permission on the procedure. 자세한 내용은 GRANT 개체 사용 권한(Transact-SQL)을 사용하여 저장 프로시저에 대한 사용 권한을 부여하는 방법에 대해 설명합니다.For more information, see GRANT Object Permissions (Transact-SQL).

SQL Server Management Studio 사용Using SQL Server Management Studio

저장 프로시저에 대한 사용 권한을 부여하려면To grant permissions on a stored procedure

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine 의 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine and then expand that instance.

  2. 데이터베이스를 확장하고 해당 프로시저가 속한 데이터베이스를 확장한 다음 프로그래밍 기능을 확장합니다.Expand Databases, expand the database in which the procedure belongs, and then expand Programmability.

  3. 저장 프로시저를 확장하고 사용 권한을 부여할 프로시저를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.Expand Stored Procedures, right-click the procedure to grant permissions on, and then click Properties.

  4. 저장 프로시저 속성에서 사용 권한 페이지를 선택합니다.From Stored Procedure Properties, select the Permissions page.

  5. 사용자, 데이터베이스 역할 또는 응용 프로그램 역할에 사용 권한을 부여하려면 검색을 클릭합니다.To grant permissions to a user, database role, or application role, click Search.

  6. 사용자 또는 역할 선택에서 개체 유형 을 클릭하여 원하는 사용자 및 역할을 추가하거나 지웁니다.In Select Users or Roles, click Object Types to add or clear the users and roles you want.

  7. 찾아보기 를 클릭하여 사용자 또는 역할의 목록을 표시합니다.Click Browse to display the list of users or roles. 사용 권한을 부여할 사용자 또는 역할을 선택합니다.Select the users or roles to whom permissions should be granted.

  8. 명시적 사용 권한 표에서 지정된 사용자 또는 역할에 부여할 사용 권한을 선택합니다.In the Explicit Permissions grid, select the permissions to grant to the specified user or role. 사용 권한에 대한 설명은 사용 권한(데이터베이스 엔진)을 참조하세요.For a description of the permissions, see Permissions (Database Engine).

    허용 을 선택하면 지정된 사용 권한이 피부여자에게 제공됩니다.Selecting Grant indicates the grantee will be given the specified permission. 허용 권한 소유 를 선택하면 피부여자가 지정된 사용 권한을 다른 보안 주체에 부여할 수도 있습니다.Selecting Grant With indicates that the grantee will also be able to grant the specified permission to other principals.

Transact-SQL 사용Using Transact-SQL

저장 프로시저에 대한 사용 권한을 부여하려면To grant permissions on a stored procedure

  1. 데이터베이스 엔진Database Engine에 연결합니다.Connect to the 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.From the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute. 이 예에서는 EXECUTE 이라는 응용 프로그램 역할에 대해 저장 프로시저 HumanResources.uspUpdateEmployeeHireInfo 에 대한 Recruiting11권한을 부여합니다.This example grants EXECUTE permission on the stored procedure HumanResources.uspUpdateEmployeeHireInfo to an application role named Recruiting11.

USE AdventureWorks2012;   
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    TO Recruiting11;  
GO  

참고 항목See Also

sys.fn_builtin_permissions(Transact-SQL) sys.fn_builtin_permissions (Transact-SQL)
GRANT 개체 사용 권한(Transact-SQL) GRANT Object Permissions (Transact-SQL)
저장 프로시저 만들기 Create a Stored Procedure
저장 프로시저 수정 Modify a Stored Procedure
저장 프로시저 삭제 Delete a Stored Procedure
저장 프로시저 이름 바꾸기Rename a Stored Procedure