데이터베이스 사용자 만들기Create a Database User

이 항목 적용 대상: 예SQL Server예Azure SQL 데이터베이스예Azure SQL 데이터 웨어하우스 예 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

이 항목에서는 가장 일반적인 데이터베이스 사용자 유형을 만드는 방법을 설명합니다.This topic describes how to create the most common types of database users. 사용자 유형에는 다음과 같이 11가지가 있습니다.There are eleven type of users. 전체 목록은 CREATE USER(Transact-SQL) 항목에서 제공됩니다.The complete list is provided in the topic CREATE USER (Transact-SQL). 모든 SQL ServerSQL Server 변형에서 데이터베이스 사용자를 지원하지만 반드시 모든 사용자 유형을 지원하는 것은 아닙니다.All varieties of SQL ServerSQL Server support database users, but not necessarily all types of users.

SQL Server Management StudioSQL Server Management Studio 또는 Transact-SQLTransact-SQL을 사용하여 데이터베이스 사용자를 만들 수 있습니다.You can create a database user by using SQL Server Management StudioSQL Server Management Studio or by using Transact-SQLTransact-SQL.

사용자 유형 이해Understanding the Types of Users

Management StudioManagement Studio 에서는 데이터베이스 사용자를 만들 때 6가지 옵션을 표시합니다. presents 6 options when creating a database user. 다음 그래픽은 녹색 상자에 6가지 옵션을 보여 주고 나타내는 정보를 표시합니다.The following graphic shows the 6 options in the green box, and indicates what they represent.

TypesOfUsersTypesOfUsers

사용자 유형 선택Selecting the Type of User

로그인 또는 로그인에 매핑되지 않은 사용자Login or user that is not mapped to a login

SQL ServerSQL Server을 처음 사용하는 경우 만들 사용자 유형을 결정하기 어려울 수 있습니다.If you are new to SQL ServerSQL Server, it can be difficult to determine what type of user you want to create. 먼저 데이터베이스에 액세스해야 하는 개인 또는 그룹이 로그인을 가지고 있는지 자문해 봅니다.First ask yourself, does the person or group that needs to access the database have a login? master 데이터베이스의 로그인은 SQL ServerSQL Server 을 관리하는 사용자와 SQL ServerSQL Server인스턴스에서 여러 또는 모든 데이터베이스에 액세스해야 하는 사용자에게 일반적입니다.Logins in the master database are common for the people who manage the SQL ServerSQL Server and for people who need to access many or all of the database on the instance of SQL ServerSQL Server. 이런 상황에서는 로그인을 사용하는 SQL 사용자를 만듭니다.For this situation, you will create a SQL user with login. 데이터베이스 사용자는 데이터베이스 연결 시의 로그인 ID입니다.The database user is the identity of the login when it is connected to a database. 데이터베이스 사용자는 원하는 경우 로그인과 같은 이름을 사용할 수 있습니다.The database user can use the same name as the login, but that is not required. 이 항목에서는 SQL ServerSQL Server에 로그인이 이미 있다고 가정합니다.This topic assumes that a login already exists in SQL ServerSQL Server. 로그인을 만드는 방법은 로그인 만들기를 참조하세요.For information about how to create a login, see Create a Login

데이터베이스에 액세스해야 하는 개인 또는 그룹에 로그인이 없고 하나 또는 일부 데이터베이스에만 액세스해야 하는 경우 Windows 사용자 또는 암호를 사용하는 SQL 사용자를 만듭니다.If the person or group that needs to access the database does not have a login and if they only need access to one or few databases, create a Windows user or a SQL user with password. 포함된 데이터베이스 사용자라고도 하며 master 데이터베이스의 로그인과 연결되지 않습니다.Also called a contained database user, it is not associated with a login in the master database. SQL ServerSQL Server인스턴스 간에 데이터베이스를 쉽게 이동할 수 있기를 원하는 경우 매우 적합합니다.This is an excellent choice when you want to be able to easily move your database between instances of SQL ServerSQL Server. SQL Server 2016SQL Server 2016에서 이 옵션을 사용하려면 먼저 관리자가 SQL ServerSQL Server에 대해 포함된 데이터베이스를 사용하도록 설정하고 포함할 데이터베이스가 설정되어야 합니다.To use this option on SQL Server 2016SQL Server 2016, an administrator must first enable contained databases for the SQL ServerSQL Server, and the database be enabled for containment. 자세한 내용은 포함된 데이터베이스 사용자 - 이식 가능한 데이터베이스 만들기를 참조하세요.For more information, see Contained Database Users - Making Your Database Portable.

중요!IMPORTANT! 포함된 데이터베이스 사용자로 연결할 때 연결 문자열의 일부로 데이터베이스 이름을 제공해야 합니다.When connecting as a contained database user you must provide the name of the database as part of the connection string. Management StudioManagement Studio에서 데이터베이스를 지정하려면 연결 대상 대화 상자에서 옵션을 클릭하고 연결 속성 탭을 클릭합니다.To specify the database in Management StudioManagement Studio, in the Connect to dialog box, click Options, and then click the Connection Properties tab.

연결 중인 개인이 Windows에서 인증할 수 없는 경우 SQL Server 인증 로그인 에 따라 암호를 사용하는 SQL 사용자 또는 로그인을 사용하는 SQL 사용자를 선택합니다.Select SQL user with password or a SQL user with login based on a SQL Server authentication login, when the person connecting cannot authenticate with Windows. 조직에 속하지 않은 개인(예: 고객)이 SQL ServerSQL Server에 연결하는 경우 일반적입니다.This is common when people outside of your organization (for example customers) are connecting to your SQL ServerSQL Server.

TIP! 조직에 속한 개인의 경우 추가 암호를 기억하지 않아도 되며 Windows 인증에서 Kerberos와 같은 추가 보안 기능을 제공하므로 Windows 인증이 보다 적합합니다.For people inside your organization, Windows authentication is a better choice, because they won't have to remember an additional password, and because Windows authentication offers additional security features such as Kerberos.

배경Background

사용자는 데이터베이스 수준의 보안 주체입니다.A user is a database level security principal. 데이터베이스에 연결하려면 로그인을 데이터베이스 사용자로 매핑해야 합니다.Logins must be mapped to a database user to connect to a database. 로그인을 다른 데이터베이스에 다른 사용자로 매핑할 수 있지만 각 데이터베이스에서 한 명의 사용자로만 매핑할 수 있습니다.A login can be mapped to different databases as different users but can only be mapped as one user in each database. 부분적으로 포함된 데이터베이스에서는 로그인을 포함하지 않는 사용자를 만들 수 있습니다.In a partially contained database, a user can be created that does not have a login. 포함된 데이터베이스 사용자에 대한 자세한 내용은 CREATE USER(Transact-SQL)를 참조하세요.For more information about contained database users, see CREATE USER (Transact-SQL). 데이터베이스에서 게스트 사용자가 설정된 경우 데이터베이스 사용자에 매핑되지 않은 로그인이 게스트 사용자로 데이터베이스에 진입할 수 있습니다.If the guest user in a database is enabled, a login that is not mapped to a database user can enter the database as the guest user.

중요!IMPORTANT! 게스트 사용자는 보통 사용하지 않도록 설정됩니다.The guest user is ordinarily disabled. 반드시 필요한 경우가 아니면 게스트 사용자를 사용하도록 설정하지 마세요.Do not enable the guest user unless it is necessary.

보안 주체는 사용 권한을 사용자에게 부여할 수 있습니다.As a security principal, permissions can be granted to users. 사용자의 범위는 데이터베이스입니다.The scope of a user is the database. SQL ServerSQL Server인스턴스에서 특정 데이터베이스에 연결하려면 로그인을 데이터베이스 사용자에 매핑해야 합니다.To connect to a specific database on the instance of SQL ServerSQL Server, a login must be mapped to a database user. 이 경우 로그인이 아니라 데이터베이스 내의 사용 권한이 데이터베이스 사용자에게 부여되며 거부됩니다.Permissions inside the database are granted and denied to the database user, not the login.

사용 권한Permissions

데이터베이스에 대한 ALTER ANY USER 권한이 필요합니다.Requires ALTER ANY USER permission on the database.

SSMS를 사용하여 사용자 만들기Create a user with SSMS

  1. 개체 탐색기에서 데이터베이스 폴더를 확장합니다.In Object Explorer, expand the Databases folder.

  2. 새 데이터베이스 사용자를 만들 데이터베이스를 확장합니다.Expand the database in which to create the new database user.

  3. 보안 폴더를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 사용자...를 선택합니다.Right-click the Security folder, point to New, and select User….

  4. 데이터베이스 사용자 – 신규 대화 상자의 일반 페이지에 있는 사용자 유형 목록에서In the Database User – New dialog box, on the General page, select one of the following user types from the User type list:

    • 로그인을 사용하는 SQL 사용자SQL user with login

    • 암호를 사용하는 SQL 사용자SQL user with password

    • 로그인을 사용하지 않는 SQL 사용자SQL user without login

    • 인증서에 매핑된 사용자User mapped to a certificate

    • 비대칭 키에 매핑된 사용자User mapped to an asymmetric key

    • Windows 사용자Windows user

  5. 옵션을 선택하면 대화 상자의 나머지 옵션이 변경될 수 있습니다.When you select an option, the remaining options in the dialog may change. 일부 옵션은 특정 유형의 데이터베이스 사용자에게만 적용됩니다.Some options only apply to specific types of database users. 일부 옵션 비워둘 수 있으며 기본값을 사용합니다.Some options can be left blank and will use a default value.

    사용자 이름User name
    새 사용자의 이름을 입력합니다.Enter a name for the new user. 사용자 유형 목록에서 Windows 사용자 를 선택한 경우 줄임표 (…) 를 클릭하여 사용자 또는 그룹 선택 대화 상자를 열 수도 있습니다.If you have chosen Windows user from the User type list, you can also click the ellipsis (…) to open the Select User or Group dialog box.

    로그인 이름Login name
    사용자에 대한 로그인을 입력합니다.Enter the login for the user. 또는 줄임표 (…) 를 클릭하여 로그인 선택 대화 상자를 엽니다.Alternately, click the ellipsis (…) to open the Select Login dialog box. 로그인 이름사용자 유형 목록에서 로그인을 사용하는 SQL 사용자 또는 Windows 사용자 를 선택한 경우 사용할 수 있습니다.Login name is available if you select either SQL user with login or Windows user from the User type list.

    암호암호 확인Password and Confirm password
    데이터베이스에서 인증할 사용자의 암호를 입력합니다.Enter a password for users who authenticate at the database.

    기본 언어Default language
    사용자의 기본 언어를 입력합니다.Enter the default language of the user.

    기본 스키마Default schema
    이 사용자가 만든 개체를 소유할 스키마를 입력합니다.Enter the schema that will own objects created by this user. 또는 줄임표 (…) 를 클릭하여 스키마 선택 대화 상자를 엽니다.Alternately, click the ellipsis (…) to open the Select Schema dialog box. 기본 스키마사용자 유형목록에서 로그인을 사용하는 SQL 사용자, 로그인을 사용하지 않는 SQL 사용자 또는 Windows 사용자 를 선택한 경우 사용할 수 있습니다.Default schema is available if you select either SQL user with login, SQL user without login, or Windows user from the User type list.

    인증서 이름Certificate name
    데이터베이스 사용자에 대해 사용할 인증서를 입력합니다.Enter the certificate to be used for the database user. 또는 줄임표 (…) 를 클릭하여 인증서 선택 대화 상자를 엽니다.Alternately, click the ellipsis (…) to open the Select Certificate dialog box. 인증서 이름사용자 유형 목록에서 인증서에 매핑된 사용자 를 선택한 경우 사용할 수 있습니다.Certificate name is available if you select User mapped to a certificate from the User type list.

    비대칭 키 이름Asymmetric key name
    데이터베이스 사용자에 대해 사용할 키를 입력합니다.Enter the key to be used for the database user. 또는 줄임표 (…) 를 클릭하여 비대칭 키 선택 대화 상자를 엽니다.Alternately, click the ellipsis (…) to open the Select Asymmetric Key dialog box. 비대칭 키 이름사용자 유형 목록에서 비대칭 키에 매핑된 사용자 를 선택한 경우 사용할 수 있습니다.Asymmetric key name is available if you select User mapped to an asymmetric key from the User type list.

  6. 확인을 클릭합니다.Click OK.

추가 옵션Additional Options

데이터베이스 사용자 - 신규 대화 상자에는 또한 소유한 스키마, 멤버 자격, 보안 개체확장 속성의 네 가지 추가 페이지에 대한 옵션이 제공됩니다.The Database User – New dialog box also offers options on four additional pages: Owned Schemas, Membership, Securables, and Extended Properties.

  • 소유한 스키마 페이지에는 새 데이터베이스 사용자가 소유할 수 있는 모든 가능한 스키마가 나열됩니다.The Owned Schemas page lists all possible schemas that can be owned by the new database user. 데이터베이스 사용자로부터 스키마를 추가하거나 제거하려면 이 사용자가 소유한 스키마아래에서 스키마 옆에 있는 확인란을 선택하거나 선택을 취소합니다.To add schemas to or remove them from a database user, under Schemas owned by this user, select or clear the check boxes next to the schemas.

  • 멤버 자격 페이지에는 새 데이터베이스 사용자가 소유할 수 있는 모든 가능한 데이터베이스 멤버 자격 역할이 나열됩니다.The Membership page lists all possible database membership roles that can be owned by the new database user. 데이터베이스 사용자로부터 역할을 추가하거나 제거하려면 데이터베이스 역할 멤버 자격아래에서 역할 옆에 있는 확인란을 선택하거나 선택을 취소합니다.To add roles to or remove them from a database user, under Database role membership, select or clear the check boxes next to the roles.

  • 보안 개체 페이지에는 사용 가능한 모든 보안 개체와 이러한 보안 개체에서 로그인에 부여할 수 있는 권한이 나열됩니다.The Securables page lists all possible securables and the permissions on those securables that can be granted to the login.

  • 확장 속성 페이지에서는 데이터베이스 사용자에 사용자 지정 속성을 추가할 수 있습니다.The Extended properties page allows you to add custom properties to database users. 이 페이지에서는 다음과 같은 옵션을 선택할 수 있습니다.The following options are available on this page.

    데이터베이스Database
    선택한 데이터베이스의 이름을 표시합니다.Displays the name of the selected database. 이 필드는 읽기 전용입니다.This field is read-only.

    데이터 정렬Collation
    선택한 데이터베이스에 사용된 데이터 정렬을 표시합니다.Displays the collation used for the selected database. 이 필드는 읽기 전용입니다.This field is read-only.

    속성Properties
    개체의 확장 속성을 확인하거나 지정합니다.View or specify the extended properties for the object. 각 확장 속성은 개체에 연결된 메타데이터의 이름/값 쌍으로 이루어져 있습니다.Each extended property consists of a name/value pair of metadata associated with the object.

    줄임표(...)Ellipsis (…)
    확장 속성 값 대화 상자를 열려면 뒤에 있는 줄임표 (…) 를 클릭합니다.Click the ellipsis (…) after Value to open the Value for Extended Property dialog box. 더 큰 범위에서 확장 속성 값을 입력하거나 확인할 수 있습니다.Type or view the value of the extended property in this larger location. 자세한 내용은 확장 속성 값 대화 상자를 참조하세요.For more information, see Value for Extended Property Dialog Box.

    DeleteDelete
    선택한 확장 속성을 제거합니다.Removes the selected extended property.

T-SQL을 사용하여 사용자 만들기Create a user using T-SQL

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

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

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    -- Creates the login AbolrousHazem with password '340$Uuxwp7Mcxo7Khy'.  
    CREATE LOGIN AbolrousHazem   
        WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';  
    GO  
    
    -- Creates a database user for the login created above.  
    CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;  
    GO  
    

    자세한 내용은 추가 Transact-SQLTransact-SQL 예제가 포함된 CREATE USER(Transact-SQL)를 참조하세요.For more information, see CREATE USER (Transact-SQL) which contains many more Transact-SQLTransact-SQL examples.

관련 항목:See Also

보안 주체(데이터베이스 엔진) Principals (Database Engine)
로그인 만들기 Create a Login
CREATE LOGIN(Transact-SQL)CREATE LOGIN (Transact-SQL)