Создание пользователя базы данныхCreate a Database User

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure даAzure Synapse Analytics (хранилище данных SQL) даParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

В этой статье описывается создание наиболее распространенных типов пользователей базы данных.This topic describes how to create the most common types of database users. Существует одиннадцать типов пользователей.There are eleven types 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 имеется шесть вариантов создания пользователя базы данных.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. Пользователь базы данных — это идентификатор имени входа при подключении к базе данных.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 2016 (13.x)SQL Server 2016 (13.x), администратор сначала должен включить автономные базы данных для SQL ServerSQL Server, а база данных должна поддерживать автономность.To use this option on SQL Server 2016 (13.x)SQL Server 2016 (13.x), 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.

Выберите Пользователь SQL с паролем или Пользователь SQL с именем входа , выбрав имя входа для проверки подлинности SQL Server, если проверка подключающегося пользователя невозможна с помощью Windows.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. Это избавит их от необходимости запоминать еще один пароль. Кроме того, проверка подлинности Windows представляет дополнительные возможности безопасности, такие как Kerberos.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). Если в базе данных включена учетная запись гостя, то под именем входа, не сопоставленным с пользователем базы данных, можно войти от пользователя guest.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! Как правило, пользователь guest отключен.The guest user is ordinarily disabled. Не используйте пользователя guest без крайней необходимости.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.

PermissionsPermissions

Необходимо разрешение ALTER ANY USER на базу данных.Requires ALTER ANY USER permission on the database.

Создание пользователя с использованием SSMSCreate 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

    • пользователя WindowsWindows 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.

    УдалениеDelete
    Удаляет выбранное расширенное свойство.Removes the selected extended property.

Создание пользователя с использованием T-SQLCreate a user using T-SQL

  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database EngineDatabase Engine.In Object Explorer, connect to an instance of Компонент Database EngineDatabase 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  
    

Дополнительные сведения см. в статье CREATE USER (Transact-SQL) (в ней приведены дополнительные примеры Transact-SQLTransact-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)