서버 수준 역할Server-Level Roles

이 항목은 다음에 적용됩니다. 예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse yesParallel Data Warehouse

SQL ServerSQL Server 에서는 서버에 대한 사용 권한을 쉽게 관리할 수 있도록 서버 수준 역할을 제공합니다. provides server-level roles to help you manage the permissions on a server. 서버 역할은 다른 보안 주체를 그룹화하는 보안 주체입니다.These roles are security principals that group other principals. 서버 수준 역할은 서버 측 사용 권한 범위에 속합니다.Server-level roles are server-wide in their permissions scope. 역할 은 Windows 운영 체제의 그룹 과 같습니다.(Roles are like groups in the Windows operating system.)

고정 서버 역할은 편리성 및 이전 버전과의 호환성을 위해 제공됩니다.Fixed server roles are provided for convenience and backward compatibility. 가능하면 보다 구체적인 사용 권한을 할당하세요.Assign more specific permissions whenever possible.

SQL ServerSQL Server 에서 제공하는 고정 서버 역할은 9개입니다. provides nine fixed server roles. 고정 서버 역할(공용 제외)에 부여된 사용 권한은 변경할 수 없습니다.The permissions that are granted to the fixed server roles (except public) cannot be changed. SQL Server 2012SQL Server 2012부터는 사용자 정의 서버 역할을 만들어 여기에 서버 수준 사용 권한을 추가할 수 있습니다.Beginning with SQL Server 2012SQL Server 2012, you can create user-defined server roles and add server-level permissions to the user-defined server roles.

서버 수준 보안 주체( SQL ServerSQL Server 로그인, Windows 계정 및 Windows 그룹)를 서버 수준 역할에 추가할 수 있습니다.You can add server-level principals ( SQL ServerSQL Server logins, Windows accounts, and Windows groups) into server-level roles. 고정 서버 역할의 각 멤버는 같은 역할에 다른 로그인을 추가할 수 있습니다.Each member of a fixed server role can add other logins to that same role. 사용자 정의 서버 역할의 멤버는 이 역할에 다른 서버 보안 주체를 추가할 수 없습니다.Members of user-defined server roles cannot add other server principals to the role.

참고

SQL Database 또는 SQL Data Warehouse에서는 서버 수준 사용 권한을 사용할 수 없습니다.Server-level permissions are not available in SQL Database or SQL Data Warehouse. SQL Database에 대한 자세한 내용은 데이터베이스 액세스 제어 및 권한 부여를 참조하세요.For more information about SQL Database, see Controlling and granting database access.

고정 서버 수준 역할Fixed Server-Level Roles

다음 표에서는 고정 서버 수준 역할과 해당 기능을 보여 줍니다.The following table shows the fixed server-level roles and their capabilities.

고정 서버 수준 역할Fixed server-level role 설명Description
sysadminsysadmin sysadmin 고정 서버 역할의 멤버는 서버에서 모든 작업을 수행할 수 있습니다.Members of the sysadmin fixed server role can perform any activity in the server.
serveradminserveradmin serveradmin 고정 서버 역할의 멤버는 서버 차원의 구성 옵션을 변경하고 서버를 종료할 수 있습니다.Members of the serveradmin fixed server role can change server-wide configuration options and shut down the server.
securityadminsecurityadmin securityadmin 고정 서버 역할의 멤버는 로그인 및 해당 속성을 관리합니다.Members of the securityadmin fixed server role manage logins and their properties. 서버 수준 사용 권한을 GRANT, DENYREVOKE할 수 있습니다.They can GRANT, DENY, and REVOKE server-level permissions. 데이터베이스에 액세스할 수 있는 데이터베이스 수준 사용 권한도 GRANT, DENYREVOKE할 수 있습니다.They can also GRANT, DENY, and REVOKE database-level permissions if they have access to a database. 또한 이 역할의 멤버는 SQL ServerSQL Server 의 로그인 암호를 다시 설정할 수 있습니다.Additionally, they can reset passwords for SQL ServerSQL Server logins.

중요: 보안 관리자는 데이터베이스 엔진Database Engine에 대한 액세스 권한을 부여하고 사용자 권한을 구성할 수 있으므로 대부분의 서버 사용 권한을 할당할 수 있습니다.IMPORTANT: The ability to grant access to the 데이터베이스 엔진Database Engine and to configure user permissions allows the security admin to assign most server permissions. securityadmin 역할은 sysadmin 역할과 동일하게 처리되어야 합니다.The securityadmin role should be treated as equivalent to the sysadmin role.
processadminprocessadmin processadmin 고정 서버 역할의 멤버는 SQL ServerSQL Server의 인스턴스에서 실행 중인 프로세스를 종료할 수 있습니다.Members of the processadmin fixed server role can end processes that are running in an instance of SQL ServerSQL Server.
setupadminsetupadmin setupadmin 고정 서버 역할의 멤버는 Transact-SQLTransact-SQL 문을 사용하여 연결된 서버를 추가하거나 제거할 수 있습니다.Members of the setupadmin fixed server role can add and remove linked servers by using Transact-SQLTransact-SQL statements. ( Management StudioManagement Studio를 사용할 때 sysadmin 멤버 자격이 필요합니다.)(sysadmin membership is needed when using Management StudioManagement Studio.)
bulkadminbulkadmin bulkadmin 고정 서버 역할의 멤버는 BULK INSERT 문을 실행할 수 있습니다.Members of the bulkadmin fixed server role can run the BULK INSERT statement.
diskadmindiskadmin diskadmin 고정 서버 역할은 디스크 파일을 관리하는 데 사용됩니다.The diskadmin fixed server role is used for managing disk files.
dbcreatordbcreator dbcreator 고정 서버 역할의 멤버는 데이터베이스를 생성, 변경, 삭제, 복원할 수 있습니다.Members of the dbcreator fixed server role can create, alter, drop, and restore any database.
publicpublic 모든 SQL ServerSQL Server 로그인은 public 서버 역할에 속합니다.Every SQL ServerSQL Server login belongs to the public server role. 서버 보안 주체에게 보안 개체에 대한 특정 사용 권한이 부여되지 않았거나 거부된 경우 사용자는 해당 개체에 대해 public으로 부여된 사용 권한을 상속 받습니다.When a server principal has not been granted or denied specific permissions on a securable object, the user inherits the permissions granted to public on that object. 모든 사용자가 개체를 사용할 수 있도록 하려는 경우에만 개체에 public 권한을 할당해야 합니다.Only assign public permissions on any object when you want the object to be available to all users. public의 멤버 자격은 변경할 수 없습니다.You cannot change membership in public.

참고: public은 다른 역할과 다른 방식으로 구현되며 public 고정 서버 역할에서 사용 권한이 부여, 거부 또는 취소될 수 있습니다.Note: public is implemented differently than other roles, and permissions can be granted, denied, or revoked from the public fixed server roles.

고정 서버 역할에 대한 사용 권한Permissions of Fixed Server Roles

각 고정 서버 역할에는 관련된 특정 사용 권한이 있습니다.Each fixed server role has certain permissions assigned to it. 다음 그림에서는 서버 역할에 할당된 사용 권한을 보여 줍니다.The following graphic shows the permissions assigned to the server roles.
fixed_server_role_permissions

중요

CONTROL SERVER 권한은 sysadmin 고정 서버 역할과 유사하지만 동일하지는 않습니다.The CONTROL SERVER permission is similar but not identical to the sysadmin fixed server role. 권한이 역할 멤버 자격을 의미하지 않으며 역할 멤버 자격이 있다고 해서 사용 권한이 부여되는 것도 아닙니다.Permissions do not imply role memberships and role memberships do not grant permissions. 예를 들어(E.g. CONTROL SERVERsysadmin 고정 서버 역할의 멤버 자격을 의미하지는 않습니다. 그러나 때로 역할과 해당 권한 간에 가장하는 것이 가능할 수 있습니다.CONTROL SERVER does not imply membership in the sysadmin fixed server role.) However, it is sometimes possible to impersonate between roles and equivalent permissions. 대부분의 DBCC 명령 및 많은 시스템 절차를 수행하려면 sysadmin 고정 서버 역할의 멤버 자격이 필요합니다.Most DBCC commands and many system procedures require membership in the sysadmin fixed server role. sysadmin 멤버 자격이 필요한 171개의 시스템 저장 프로시저 목록의 경우 Andreas Wolter가 작성한 CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats(제어 서버 및 sysadmin/sa: 사용 권한, 시스템 프로시저, DBCC, 자동 스키마 생성 및 권한 에스컬레이션 - 주의할 사항) 블로그 게시물을 참조하세요.For a list of 171 system stored procedures that require sysadmin membership, see the following blog post by Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats.

서버 수준 사용 권한Server-Level Permissions

사용자 정의 서버 역할에는 서버 수준 사용 권한만 추가할 수 있습니다.Only server-level permissions can be added to user-defined server roles. 서버 수준 사용 권한을 나열하려면 다음 문을 실행하세요.To list the server-level permissions, execute the following statement. 서버 수준 사용 권한은 다음과 같습니다.The server-level permissions are:

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;  

사용 권한에 대한 자세한 내용은 사용 권한(데이터베이스 엔진)sys.fn_builtin_permissions(Transact-SQL)를 참조하세요.For more information about permissions, see Permissions (Database Engine) and sys.fn_builtin_permissions (Transact-SQL).

서버 수준 역할 작업Working with Server-Level Roles

다음 표에서는 서버 수준 역할을 통해 사용할 수 있는 명령, 뷰 및 함수를 보여 줍니다.The following table explains the commands, views, and functions that you can use to work with server-level roles.

기능Feature 유형Type 설명Description
sp_helpsrvrole(Transact-SQL)sp_helpsrvrole (Transact-SQL) 메타데이터Metadata 서버 수준 역할의 목록을 반환합니다.Returns a list of server-level roles.
sp_helpsrvrolemember(Transact-SQL)sp_helpsrvrolemember (Transact-SQL) 메타데이터Metadata 서버 수준 역할의 멤버에 대한 정보를 반환합니다.Returns information about the members of a server-level role.
sp_srvrolepermission(Transact-SQL)sp_srvrolepermission (Transact-SQL) 메타데이터Metadata 서버 수준 역할의 사용 권한을 표시합니다.Displays the permissions of a server-level role.
IS_SRVROLEMEMBER(Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL) 메타데이터Metadata SQL ServerSQL Server 로그인이 지정된 서버 수준 역할의 멤버인지 여부를 나타냅니다.Indicates whether a SQL ServerSQL Server login is a member of the specified server-level role.
sys.server_role_members(Transact-SQL)sys.server_role_members (Transact-SQL) 메타데이터Metadata 각 서버 수준 역할의 각 멤버에 대해 행을 반환합니다.Returns one row for each member of each server-level role.
sp_addsrvrolemember(Transact-SQL)sp_addsrvrolemember (Transact-SQL) CommandCommand 서버 수준 역할의 멤버로서 로그인을 추가합니다.Adds a login as a member of a server-level role. 사용되지 않습니다.Deprecated. 대신 ALTER SERVER ROLE 을 사용하세요.Use ALTER SERVER ROLE instead.
sp_dropsrvrolemember(Transact-SQL)sp_dropsrvrolemember (Transact-SQL) CommandCommand 서버 수준 역할에서 SQL ServerSQL Server 로그인이나 Windows 사용자 또는 그룹을 제거합니다.Removes a SQL ServerSQL Server login or a Windows user or group from a server-level role. 사용되지 않습니다.Deprecated. 대신 ALTER SERVER ROLE 을 사용하세요.Use ALTER SERVER ROLE instead.
CREATE SERVER ROLE(Transact-SQL)CREATE SERVER ROLE (Transact-SQL) CommandCommand 사용자 정의 서버 역할을 만듭니다.Creates a user-defined server role.
ALTER SERVER ROLE(Transact-SQL)ALTER SERVER ROLE (Transact-SQL) CommandCommand 서버 역할의 멤버 자격을 변경하거나 사용자 정의 서버 역할의 이름을 변경합니다.Changes the membership of a server role or changes name of a user-defined server role.
DROP SERVER ROLE(Transact-SQL)DROP SERVER ROLE (Transact-SQL) CommandCommand 사용자 정의 서버 역할을 제거합니다.Removes a user-defined server role.
IS_SRVROLEMEMBER(Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL) 함수Function 서버 역할의 멤버 자격을 결정합니다.Determines membership of server role.

참고 항목See Also

데이터베이스 수준 역할 Database-Level Roles
보안 카탈로그 뷰(Transact-SQL) Security Catalog Views (Transact-SQL)
보안 함수(Transact-SQL) Security Functions (Transact-SQL)
SQL Server 보안 설정 Securing SQL Server
GRANT 서버 보안 주체 사용 권한(Transact-SQL) GRANT Server Principal Permissions (Transact-SQL)
REVOKE 서버 보안 주체 사용 권한(Transact-SQL) REVOKE Server Principal Permissions (Transact-SQL)
DENY 서버 보안 주체 사용 권한(Transact-SQL) DENY Server Principal Permissions (Transact-SQL)
서버 역할 만들기Create a Server Role