- Powershell. Как создать локальных пользователей и добавить их в группы.
- Как скриптом создавать профиль пользователя в Windows 2012R2?
- CREATE USER (Transact-SQL) CREATE USER (Transact-SQL)
- Синтаксис Syntax
- Аргументы Arguments
- Remarks Remarks
- Сводка синтаксиса Syntax Summary
- Безопасность Security
- Замечания, относящиеся к автономным базам данных Special Considerations for Contained Databases
- Разрешения Permissions
- Примеры Examples
- A. A. Создание пользователя базы данных, соответствующего имени входа SQL Server Creating a database user based on a SQL Server login
- Б. B. Создание пользователя базы данных со схемой по умолчанию Creating a database user with a default schema
- В. C. Создание пользователя базы данных из сертификата Creating a database user from a certificate
- Г. D. Создание и использование пользователя без имени входа Creating and using a user without a login
- Д. E. Создание пользователя автономной базы данных с паролем Creating a contained database user with password
- Е. F. Создание пользователя автономной базы данных для имени входа домена Creating a contained database user for a domain login
- Ж. G. Создание пользователя автономной базы данных с конкретным идентификатором SID Creating a contained database user with a specific SID
- З. H. Создание пользователя для копирования зашифрованных данных Creating a user to copy encrypted data
- И. I. Создание пользователя Azure AD по имени входа Azure AD в Управляемом экземпляре SQL Create an Azure AD user from an Azure AD login in SQL Managed Instance
- К. J. Создание пользователя Azure AD без имени входа AAD для базы данных Create an Azure AD user without an AAD login for the database
- Дальнейшие действия Next steps
Powershell. Как создать локальных пользователей и добавить их в группы.
Довольно часто возникает необходимость создавать локальных пользователей на компьютерах и добавлять их в различные группы(в основном, конечно, в группу «Пользователи удаленного рабочего стола»).
Хорошо, если это один-два пользователя, тогда несложно это сделать и руками. Но если пользователей пара десятков, процесс превращается в нудный и малоэффективный.
В этом случае нам на помощь приходит Powershell, который значительно упрощает жизнь сисадмину.
Для добавления локальных пользователей пользователей на компьютер и добавление их в группу нам понадобится список пользователей в формате .csv(с указанием необходимых данных о пользователях) и небольшой скрипт Powershell. В данном случае скрипт создает пользователя, задает имя, полное имя и описание пользователя, а также добавляет его в нужные группы. При необходимости можно изменить(дополнить) файл и скрипт под свои задачи.
Файл csv можно создать в Excel с последующим сохранением в формате csv
либо создать текстовый файл в обычном блокноте и сохранить его с расширением .csv
Вот так выглядит файл в блокноте:
Если вы добавляете пользователей на виртуальной машине, нужно скопировать файл с учетными данными пользователей и сам скрипт в виртуальную машину. Как скопировать файл в виртуальную машину VMware можно узнать здесь.
Ну а вот и сам скрипт Powershell, с помощью которого вы сможете создать пользователей и добавить их в группы быстро и просто(не забудьте запустить Powershell с правами Администратора).
Как скриптом создавать профиль пользователя в Windows 2012R2?
Профиль пользователя создается только при входе пользователя на компьютер (папка в Users, ветка реестра в ProfileList).
На ум приходит только ручное создание папки и ветки реестра (писал бы на повершелле хотя и используется cmd), что-то типа такого:
Скрипт длиннее конечно будет, по хорошему права надо удалять все и добавлять для SYSTEM, Computer\Administrators и вашего пользователя.
ну и дальше через reg add добавлять нужные ключи реестра.
Я бы не доверялся такому типу создания профиля и сначала 100 раз проверил всё в виртуальной машине с тестовым пользователем.
CREATE USER (Transact-SQL) CREATE USER (Transact-SQL)
Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) База данных SQL Azure Azure SQL Database База данных SQL Azure Azure SQL Database Управляемый экземпляр SQL Azure Azure SQL Managed Instance Управляемый экземпляр SQL Azure Azure SQL Managed Instance Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Параллельное хранилище данных Parallel Data Warehouse Параллельное хранилище данных Parallel Data Warehouse Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) База данных SQL Azure Azure SQL Database База данных SQL Azure Azure SQL Database Управляемый экземпляр SQL Azure Azure SQL Managed Instance Управляемый экземпляр SQL Azure Azure SQL Managed Instance Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Параллельное хранилище данных Parallel Data Warehouse Параллельное хранилище данных Parallel Data Warehouse
Добавляет нового пользователя в текущую базу данных. Adds a user to the current database. Ниже перечислены 12 типов пользователей с примером базового синтаксиса. The 12 types of users are listed below with a sample of the most basic syntax:
Пользователи с именем входа в базе данных master. Это самый распространенный тип пользователей. Users based on logins in master — This is the most common type of user.
- Пользователь с именем входа, задаваемым по учетной записи Windows Active Directory. User based on a login based on a Windows Active Directory account. CREATE USER [Contoso\Fritz];
- Пользователь с именем входа, задаваемым по группе Windows. User based on a login based on a Windows group. CREATE USER [Contoso\Sales];
- Пользователь с именем входа для проверки подлинности SQL Server SQL Server . User based on a login using SQL Server SQL Server authentication. CREATE USER Mary;
Пользователи, проходящие проверку подлинности в базе данных. Рекомендуется для повышения переносимости базы данных. Users that authenticate at the database — Recommended to help make your database more portable.
Всегда разрешается в База данных SQL SQL Database . Always allowed in База данных SQL SQL Database . Разрешается только в автономной базе данных в SQL Server SQL Server . Only allowed in a contained database in SQL Server SQL Server .
Пользователь, соответствующий пользователю Windows без имени входа. User based on a Windows user that has no login. CREATE USER [Contoso\Fritz];
Пользователь, соответствующий группе Windows без имени входа. User based on a Windows group that has no login. CREATE USER [Contoso\Sales];
Пользователь в База данных SQL SQL Database или Azure Synapse Analytics Azure Synapse Analytics на основе пользователя Azure Active Directory. User in База данных SQL SQL Database or Azure Synapse Analytics Azure Synapse Analytics based on an Azure Active Directory user. CREATE USER [Fritz@contoso.com] FROM EXTERNAL PROVIDER;
Пользователь автономной базы данных с паролем. Contained database user with password. (Недоступно в Azure Synapse Analytics Azure Synapse Analytics .) CREATE USER Mary WITH PASSWORD = ‘********’; (Not available in Azure Synapse Analytics Azure Synapse Analytics .) CREATE USER Mary WITH PASSWORD = ‘********’;
Пользователи, соответствующие субъектам Windows, которые подключаются с помощью имени входа группы Windows Users based on Windows principals that connect through Windows group logins
Пользователь, соответствующий пользователю Windows, который не имеет имени входа, но может подключаться к компоненту Компонент Database Engine Database Engine за счет членства в роли Windows. User based on a Windows user that has no login, but can connect to the Компонент Database Engine Database Engine through membership in a Windows group. CREATE USER [Contoso\Fritz];
Пользователь, соответствующий группе Windows, которая не имеет имени входа, но может подключаться к компоненту Компонент Database Engine Database Engine за счет членства в другой роли Windows. User based on a Windows group that has no login, but can connect to the Компонент Database Engine Database Engine through membership in a different Windows group. CREATE USER [Contoso\Fritz];
Пользователи, которые не могут проходить проверку подлинности. Такие пользователи не могут входить в SQL Server SQL Server или База данных SQL SQL Database . Users that cannot authenticate — These users cannot login to SQL Server SQL Server or База данных SQL SQL Database .
- Пользователь без имени входа. User without a login. Не может выполнить вход, но ему можно предоставлять разрешения. Cannot login but can be granted permissions. CREATE USER CustomApp WITHOUT LOGIN;
- Пользователь, связанный с сертификатом. User based on a certificate. Не может выполнить вход, но может предоставлять разрешения и подписывать модули. Cannot login but can be granted permissions and can sign modules. CREATE USER TestProcess FOR CERTIFICATE CarnationProduction50;
- Пользователь, связанный с асимметричным ключом. User based on an asymmetric key. Не может выполнить вход, но может предоставлять разрешения и подписывать модули. Cannot login but can be granted permissions and can sign modules. CREATE User TestProcess FROM ASYMMETRIC KEY PacificSales09;
Синтаксические обозначения в Transact-SQL
Transact-SQL Syntax Conventions
Синтаксис Syntax
Изменились функции, доступные администратору Azure AD для Управляемого экземпляра SQL Azure после создания. The Azure AD admin for Azure SQL Managed Instance functionality after creation has changed. Дополнительные сведения см. в разделе Новые функции администратора Azure AD для MI. For more information, see New Azure AD admin functionality for MI.
Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям. To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.
Аргументы Arguments
user_name user_name
Указывает имя, по которому пользователь идентифицируется в этой базе данных. Specifies the name by which the user is identified inside this database. user_name — это sysname. user_name is a sysname. Он может иметь длину до 128 символов. It can be up to 128 characters long. Когда создается пользователь, соответствующий участнику Windows, именем пользователя становится имя участника Windows, если не указано другое имя. When creating a user based on a Windows principal, the Windows principal name becomes the user name unless another user name is specified.
LOGIN login_name LOGIN login_name
Указывает имя входа, для которого создается пользователь базы данных. Specifies the login for which the database user is being created. login_name должен быть допустимым именем входа на сервере. login_name must be a valid login in the server. Может быть именем входа, соответствующим участнику Windows (пользователю или группе) или именем входа для проверки подлинности SQL Server SQL Server . Can be a login based on a Windows principal (user or group), or a login using SQL Server SQL Server authentication. Когда это имя входа SQL Server входит в базу данных, оно получает имя и идентификатор создаваемого пользователя базы данных. When this SQL Server login enters the database, it acquires the name and ID of the database user that is being created. При создании имени входа, сопоставленного с субъектом Windows, используйте формат [ \ ] . When creating a login mapped from a Windows principal, use the format [ \ ]. Примеры см. в разделе Сводка синтаксиса. For examples, see Syntax Summary.
Если CREATE USER является единственной инструкцией в пакете SQL, предложение WITH LOGIN поддерживается в Базе данных SQL Azure. If the CREATE USER statement is the only statement in a SQL batch, Azure SQL Database supports the WITH LOGIN clause. Если инструкция CREATE USER не единственная в пакете SQL или выполняется в динамическом коде SQL, предложение WITH LOGIN не поддерживается. If the CREATE USER statement is not the only statement in a SQL batch or is executed in dynamic SQL, the WITH LOGIN clause is not supported.
WITH DEFAULT_SCHEMA = schema_name WITH DEFAULT_SCHEMA = schema_name
Указывает первую схему, которую найдет сервер, после того, как он получит имена объектов для пользователя данной базы данных. Specifies the first schema that will be searched by the server when it resolves the names of objects for this database user.
‘windows_principal‘ ‘windows_principal‘
Указывает участника Windows, для которого создается пользователь базы данных. Specifies the Windows principal for which the database user is being created. windows_principal может быть пользователем Windows или группой Windows. The windows_principal can be a Windows user, or a Windows group. Пользователь будет создаваться даже в случае, если для windows_principal отсутствует имя входа. The user will be created even if the windows_principal does not have a login. Если при подключении к SQL Server SQL Server для windows_principal отсутствует имя входа,то субъект Windows должен пройти проверку подлинности в компоненте Компонент Database Engine Database Engine за счет членства в группе Windows, имеющей имя входа, либо в строке подключения в качестве исходного каталога должна указываться автономная база данных. When connecting to SQL Server SQL Server , if the windows_principal does not have a login, the Windows principal must authenticate at the Компонент Database Engine Database Engine through membership in a Windows group that has a login, or the connection string must specify the contained database as the initial catalog. При создании пользователя, сопоставленного с субъектом Windows, используйте формат [ \ ] . When creating a user from a Windows principal, use the format [ \ ]. Примеры см. в разделе Сводка синтаксиса. For examples, see Syntax Summary. Имена пользователей, основанные на пользователях Active Directory, могут иметь не более 21 символа в длину. Users based on Active Directory users, are limited to names of fewer than 21 characters.
‘Azure_Active_Directory_principal‘ ‘Azure_Active_Directory_principal‘
Применимо к: База данных SQL SQL Database , Azure Synapse Analytics Azure Synapse Analytics . Applies to: База данных SQL SQL Database , Azure Synapse Analytics Azure Synapse Analytics .
Указывает субъект Azure Active Directory, для которого создается пользователь базы данных. Specifies the Azure Active Directory principal for which the database user is being created. Azure_Active_Directory_principal может быть пользователем Azure Active Directory, группой Azure Active Directory или приложением Azure Active Directory. The Azure_Active_Directory_principal can be an Azure Active Directory user, an Azure Active Directory group, or an Azure Active Directory application. (Пользователи Azure Active Directory не могут иметь имена входа для проверки подлинности Windows База данных SQL SQL Database ; только пользователи базы данных.) В строке подключения необходимо указать автономную базу данных в качестве исходного каталога. (Azure Active Directory users cannot have Windows Authentication logins in База данных SQL SQL Database ; only database users.) The connection string must specify the contained database as the initial catalog.
Для субъектов Azure AD действуют такие требования синтаксиса CREATE USER: For Azure AD principals, the CREATE USER syntax requires:
имя участника-пользователя (UserPrincipalName) объекта Azure AD для пользователей Azure AD; UserPrincipalName of the Azure AD object for Azure AD Users.
- CREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDER;
- CREATE USER [alice@fabrikam.onmicrosoft.com] FROM EXTERNAL PROVIDER;
отображаемое имя (DisplayName) объекта Azure AD для групп и приложений Azure AD. DisplayName of Azure AD object for Azure AD Groups and Azure AD Applications. Для группы безопасности Nurses будет отображаться следующее: If you had the Nurses security group, you would use:
- CREATE USER [Nurses] FROM EXTERNAL PROVIDER;
WITH PASSWORD = ‘password‘ WITH PASSWORD = ‘password‘
Применимо к: SQL Server 2012 (11.x) SQL Server 2012 (11.x) и выше, База данных SQL SQL Database . Applies to: SQL Server 2012 (11.x) SQL Server 2012 (11.x) and later, База данных SQL SQL Database .
Может использоваться только в автономной базе данных. Can only be used in a contained database. Задает пароль для создаваемого пользователя. Specifies the password for the user that is being created. Начиная с версии SQL Server 2012 (11.x) SQL Server 2012 (11.x) сохраненные сведения о пароле вычисляются с помощью SHA-512 соленого пароля. Beginning with SQL Server 2012 (11.x) SQL Server 2012 (11.x) , stored password information is calculated using SHA-512 of the salted password.
WITHOUT LOGIN WITHOUT LOGIN
Указывает, что пользователь не должен сопоставляться с существующим именем входа. Specifies that the user should not be mapped to an existing login.
CERTIFICATE cert_name CERTIFICATE cert_name
Применимо к: SQL Server 2008 SQL Server 2008 и выше, База данных SQL SQL Database . Applies to: SQL Server 2008 SQL Server 2008 and later, База данных SQL SQL Database .
Указывает сертификат, для которого создается пользователь базы данных. Specifies the certificate for which the database user is being created.
ASYMMETRIC KEY asym_key_name ASYMMETRIC KEY asym_key_name
Применимо к: SQL Server 2008 SQL Server 2008 и выше, База данных SQL SQL Database . Applies to: SQL Server 2008 SQL Server 2008 and later, База данных SQL SQL Database .
Указывает асимметричный ключ, для которого создается пользователь базы данных. Specifies the asymmetric key for which the database user is being created.
DEFAULT_LANGUAGE = DEFAULT_LANGUAGE =
Применимо к: SQL Server 2012 (11.x) SQL Server 2012 (11.x) и выше, База данных SQL SQL Database . Applies to: SQL Server 2012 (11.x) SQL Server 2012 (11.x) and later, База данных SQL SQL Database .
Задает язык по умолчанию для нового пользователя. Specifies the default language for the new user. Если для пользователя задается язык по умолчанию, а затем язык базы данных по умолчанию изменяется, то язык по умолчанию для пользователя сохраняет указанное значение. If a default language is specified for the user and the default language of the database is later changed, the users default language remains as specified. Если язык по умолчанию не указывается, то языком по умолчанию для пользователя становится язык по умолчанию для базы данных. If no default language is specified, the default language for the user will be the default language of the database. Если язык по умолчанию для пользователя не указывается, а язык по умолчанию для базы данных изменяется после создания пользователя, то язык по умолчанию для пользователя меняется на новый язык по умолчанию для базы данных. If the default language for the user is not specified and the default language of the database is later changed, the default language of the user will change to the new default language for the database.
Аргумент DEFAULT_LANGUAGE используется только для пользователя автономной базы данных. DEFAULT_LANGUAGE is used only for a contained database user.
SID = sid SID = sid
Область применения: SQL Server 2012 (11.x) SQL Server 2012 (11.x) и более поздних версий. Applies to: SQL Server 2012 (11.x) SQL Server 2012 (11.x) and later.
Применимо только для пользователей с паролями (проверка подлинности SQL Server SQL Server ) в автономной базе данных. Applies only to users with passwords ( SQL Server SQL Server authentication) in a contained database. Указывает идентификатор SID нового пользователя базы данных. Specifies the SID of the new database user. Если этот параметр не выбран, SQL Server SQL Server назначает идентификатор SID автоматически. If this option is not selected, SQL Server SQL Server automatically assigns a SID. Используйте параметр идентификатора SID для создания пользователей в нескольких базах данных с одинаковыми идентификаторами SID. Use the SID parameter to create users in multiple databases that have the same identity (SID). Это удобно при создании пользователей в нескольких базах данных для подготовки обработки отказа AlwaysOn. This is useful when creating users in multiple databases to prepare for Always On failover. Чтобы определить идентификатор SID пользователя, выполните запрос sys.database_principals. To determine the SID of a user, query sys.database_principals.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ] ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]
Применимо к: SQL Server 2016 (13.x); SQL Server 2016 (13.x) и выше, База данных SQL SQL Database . Applies to: SQL Server 2016 (13.x); SQL Server 2016 (13.x) and later, База данных SQL SQL Database .
Отключает проверки шифрованных метаданных на сервере в операциях массового копирования. Suppresses cryptographic metadata checks on the server in bulk copy operations. Это позволяет пользователю массово копировать зашифрованные данные между таблицами или базами данных без расшифровки данных. This enables the user to bulk copy encrypted data between tables or databases, without decrypting the data. Значение по умолчанию — OFF. The default is OFF.
Неправильное использование этого параметра может привести к повреждению данных. Improper use of this option can lead to data corruption. Дополнительные сведения см. в разделе Перенос конфиденциальных данных с помощью функции Always Encrypted. For more information, see Migrate Sensitive Data Protected by Always Encrypted.
Remarks Remarks
Если предложение FOR LOGIN не указано, новый пользователь базы данных будет сопоставлен с именем входа SQL Server SQL Server , имеющим такое же имя. If FOR LOGIN is omitted, the new database user will be mapped to the SQL Server SQL Server login with the same name.
Схемой по умолчанию будет первая схема, которую найдет сервер, после того как получит имена объектов для данного пользователя базы данных. The default schema will be the first schema that will be searched by the server when it resolves the names of objects for this database user. Если не указано иное, схемой по умолчанию будет владелец объектов, создаваемых этим пользователем базы данных. Unless otherwise specified, the default schema will be the owner of objects created by this database user.
Если пользователь имеет схему по умолчанию, будет использоваться эта схема. If the user has a default schema, that default schema will used. Если у пользователя нет схемы по умолчанию, но он является членом группы, которая имеет схему по умолчанию, используется схема по умолчанию группы. If the user does not have a default schema, but the user is a member of a group that has a default schema, the default schema of the group will be used. Если пользователь не имеет схемы по умолчанию и является членом нескольких групп, схемой по умолчанию для этого пользователя будет схема по умолчанию группы Windows с минимальным значением principal_id и явно заданной схемой по умолчанию. If the user does not have a default schema, and is a member of more than one group, the default schema for the user will be that of the Windows group with the lowest principal_id and an explicitly set default schema. (Невозможно явно выбрать одну из доступных схем по умолчанию как предпочтительную.) Если для пользователя нельзя определить схему по умолчанию, будет использоваться схема dbo. (It is not possible to explicitly select one of the available default schemas as the preferred schema.) If no default schema can be determined for a user, the dbo schema will be used.
Значение DEFAULT_SCHEMA может быть установлено до создания схемы, на которую оно указывает. DEFAULT_SCHEMA can be set before the schema that it points to is created.
Значение DEFAULT_SCHEMA не может указываться при создании пользователя, сопоставленного с сертификатом или асимметричным ключом. DEFAULT_SCHEMA cannot be specified when you are creating a user mapped to a certificate, or an asymmetric key.
Значение параметра DEFAULT_SCHEMA не учитывается, если пользователь является членом предопределенной роли сервера sysadmin. The value of DEFAULT_SCHEMA is ignored if the user is a member of the sysadmin fixed server role. Для всех членов предопределенной роли сервера sysadmin по умолчанию установлена схема dbo . All members of the sysadmin fixed server role have a default schema of dbo .
Предложение WITHOUT LOGIN создает пользователя, который не сопоставляется с именем входа SQL Server. The WITHOUT LOGIN clause creates a user that is not mapped to a SQL Server login. Такой пользователь может подключиться к базе данных как guest. It can connect to other databases as guest. Этому пользователю без имени входа можно назначать разрешения, и когда контекст безопасности меняется на пользователя без имени входа, то исходные пользователи получают его разрешения. Permissions can be assigned to this user without login and when the security context is changed to a user without login, the original users receives the permissions of the user without login. См. пример Г. Создание и использование пользователя без имени входа. See example D. Creating and using a user without a login.
Символ обратной косой черты ( \ ) может содержаться только в именах пользователей, сопоставленных с субъектами Windows. Only users that are mapped to Windows principals can contain the backslash character (\).
С помощью инструкции CREATE USER нельзя создать пользователя guest, потому что пользователь guest уже существует в каждой базе данных. CREATE USER cannot be used to create a guest user because the guest user already exists inside every database. Активировать пользователя guest можно, предоставив ему разрешение CONNECT, как показано далее: You can enable the guest user by granting it CONNECT permission, as shown:
Данные о пользователях базы данных отображаются в представлении каталога sys.database_principals. Information about database users is visible in the sys.database_principals catalog view.
Для создания имен входа Azure AD на уровне сервера в Управляемом экземпляре SQL доступно новое расширение синтаксиса FROM EXTERNAL PROVIDER. A new syntax extension, FROM EXTERNAL PROVIDER is available for creating server-level Azure AD logins in SQL Managed Instance. Имена входа Azure AD позволяют сопоставлять субъекты Azure AD на уровне базы данных с именами входа Azure AD на уровне сервера. Azure AD logins allow database-level Azure AD principals to be mapped to server-level Azure AD logins. Чтобы создать пользователя Azure AD по имени входа Azure AD, используйте следующий синтаксис: To create an Azure AD user from an Azure AD login use the following syntax:
CREATE USER [AAD_principal] FROM LOGIN [Azure AD login]
При создании пользователя в Управляемом экземпляре SQL значение login_name должно соответствовать имеющемуся имени входа Azure AD. В противном случае в результате использования предложения FROM EXTERNAL PROVIDER будет создан только пользователь Azure AD без имени входа в базе данных master. When creating the user in the SQL Managed Instance database, the login_name must correspond to an existing Azure AD login, or else using the FROM EXTERNAL PROVIDER clause will only create an Azure AD user without a login in the master database. Например, следующая команда создает автономного пользователя: For example, this command will create a contained user:
CREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDER
Сводка синтаксиса Syntax Summary
Пользователи, соответствующие именам входа в базе данных master Users based on logins in master
В следующем списке показан возможный синтаксис для пользователей, связанных с именами входа. The following list shows possible syntax for users based on logins. Параметры схемы по умолчанию не указываются. The default schema options are not listed.
- CREATE USER [Domain1\WindowsUserBarry]
- CREATE USER [Domain1\WindowsUserBarry] FOR LOGIN Domain1\WindowsUserBarry
- CREATE USER [Domain1\WindowsUserBarry] FROM LOGIN Domain1\WindowsUserBarry
- CREATE USER [Domain1\WindowsGroupManagers]
- CREATE USER [Domain1\WindowsGroupManagers] FOR LOGIN [Domain1\WindowsGroupManagers]
- CREATE USER [Domain1\WindowsGroupManagers] FROM LOGIN [Domain1\WindowsGroupManagers]
- CREATE USER SQLAUTHLOGIN
- CREATE USER SQLAUTHLOGIN FOR LOGIN SQLAUTHLOGIN
- CREATE USER SQLAUTHLOGIN FROM LOGIN SQLAUTHLOGIN
Пользователи, проходящие проверку подлинности в базе данных Users that authenticate at the database
В следующем списке показан возможный синтаксис для пользователей, которые могут использоваться только в автономной базе данных. The following list shows possible syntax for users that can only be used in a contained database. Созданные пользователи не будут связаны с именами входа в базе данных master. The users created will not be related to any logins in the master database. Параметры схемы и языковые параметры, задаваемые по умолчанию, не указываются. The default schema and language options are not listed.
Этот синтаксис предоставляет пользователям доступ к базе данных и новый доступ к компоненту Компонент Database Engine Database Engine . This syntax grants users access to the database and also grants new access to the Компонент Database Engine Database Engine .
- CREATE USER [Domain1\WindowsUserBarry]
- CREATE USER [Domain1\WindowsGroupManagers]
- CREATE USER Barry WITH PASSWORD = ‘sdjklalie8rew8337!$d’
Пользователи на основе субъектов Windows без подключения к базе данных master Users based on Windows principals without logins in master
В следующем списке показан возможный синтаксис для пользователей, имеющих доступ к компоненту Компонент Database Engine Database Engine за счет членства в группе Windows, но не имеющих имени входа в базе данных master. The following list shows possible syntax for users that have access to the Компонент Database Engine Database Engine through a Windows group but do not have a login in master. Такой синтаксис можно использовать во всех типах базы данных. This syntax can be used in all types of databases. Параметры схемы и языковые параметры, задаваемые по умолчанию, не указываются. The default schema and language options are not listed.
Этот синтаксис аналогичен пользователям, соответствующим именам входа в базе данных master, однако пользователи данной категории не имеют имени входа в базе данных master. This syntax is similar to users based on logins in master, but this category of user does not have a login in master. Пользователь должен получать доступ к компоненту Компонент Database Engine Database Engine с помощью имени входа группы Windows. The user must have access to the Компонент Database Engine Database Engine through a Windows group login.
Этот синтаксис аналогичен пользователям автономной базы данных, соответствующим участникам Windows, однако пользователи данной категории не получают новый доступ к компоненту Компонент Database Engine Database Engine . This syntax is similar to contained database users based on Windows principals, but this category of user does not get new access to the Компонент Database Engine Database Engine .
- CREATE USER [Domain1\WindowsUserBarry]
- CREATE USER [Domain1\WindowsUserBarry] FOR LOGIN Domain1\WindowsUserBarry
- CREATE USER [Domain1\WindowsUserBarry] FROM LOGIN Domain1\WindowsUserBarry
- CREATE USER [Domain1\WindowsGroupManagers]
- CREATE USER [Domain1\WindowsGroupManagers] FOR LOGIN [Domain1\WindowsGroupManagers]
- CREATE USER [Domain1\WindowsGroupManagers] FROM LOGIN [Domain1\WindowsGroupManagers]
Пользователи, которые не могут проходить проверку подлинности Users that cannot authenticate
В следующем списке показан возможный синтаксис для пользователей, которые не могут выполнять вход в SQL Server SQL Server . The following list shows possible syntax for users that cannot login to SQL Server SQL Server .
- CREATE USER RIGHTSHOLDER WITHOUT LOGIN
- CREATE USER CERTUSER FOR CERTIFICATE SpecialCert
- CREATE USER CERTUSER FROM CERTIFICATE SpecialCert
- CREATE USER KEYUSER FOR ASYMMETRIC KEY SecureKey
- CREATE USER KEYUSER FROM ASYMMETRIC KEY SecureKey
Безопасность Security
При создании пользователя предоставляется доступ к базе данных, однако доступ к объектам в базе данных не предоставляется автоматически. Creating a user grants access to a database but does not automatically grant any access to the objects in a database. После создания пользователи обычно добавляются в роли базы данных, которые имеют разрешение на доступ к объектам базы данных, либо разрешения на объект предоставляются непосредственно пользователю. After creating a user, common actions are to add users to database roles that have permission to access database objects, or grant object permissions to the user. Сведения о проектировании системы разрешений см. в статье Getting Started with Database Engine Permissions. For information about designing a permissions system, see Getting Started with Database Engine Permissions.
Замечания, относящиеся к автономным базам данных Special Considerations for Contained Databases
Если при подключении к автономной базе данных пользователь не имеет имени входа в базе данных master, то строка подключения должна содержать имя автономной базы данных в качестве исходного каталога. When connecting to a contained database, if the user does not have a login in the master database, the connection string must include the contained database name as the initial catalog. Параметр исходного каталога всегда обязателен для пользователя автономной базы данных с паролем. The initial catalog parameter is always required for a contained database user with password.
Создание пользователей в автономной базе данных позволяет отделить базу данных от экземпляра компонента Компонент Database Engine Database Engine , что позволяет легко переместить ее в другой экземпляр SQL Server SQL Server . In a contained database, creating users helps separate the database from the instance of the Компонент Database Engine Database Engine so that the database can easily be moved to another instance of SQL Server SQL Server . Дополнительные сведения см. в разделах Автономные базы данных и Пользователи автономной базы данных — создание переносимой базы данных. For more information, see Contained Databases and Contained Database Users — Making Your Database Portable. Сведения об изменении пользователя базы данных с пользователя, соответствующего имени входа для проверки подлинности SQL Server SQL Server , на пользователя автономной базы данных с паролем см. в разделе sp_migrate_user_to_contained (Transact-SQL). To change a database user from a user based on a SQL Server SQL Server authentication login to a contained database user with password, see sp_migrate_user_to_contained (Transact-SQL).
В автономной базе данных пользователям не обязательно иметь имена входа в базе данных master. In a contained database, users do not have to have logins in the master database. Администраторы Компонент Database Engine Database Engine должны учитывать, что доступ к автономной базе данных можно предоставлять на уровне базы данных, а не на уровне компонента Компонент Database Engine Database Engine . Компонент Database Engine Database Engine administrators should understand that access to a contained database can be granted at the database level, instead of the Компонент Database Engine Database Engine level. Дополнительные сведения см. в разделе Security Best Practices with Contained Databases. For more information, see Security Best Practices with Contained Databases.
При использовании пользователей автономной базы данных База данных SQL Azure Azure SQL Database настройте доступ с помощью правила брандмауэра уровня базы данных вместо правила брандмауэра уровня сервера. When using contained database users on База данных SQL Azure Azure SQL Database , configure access using a database-level firewall rule, instead of a server-level firewall rule. Дополнительные сведения см. в разделе sp_set_database_firewall_rule (база данных SQL Azure). For more information, see sp_set_database_firewall_rule (Azure SQL Database).
Для пользователей автономной базы данных База данных SQL SQL Database и Azure Synapse Analytics Azure Synapse Analytics SSMS может поддерживать многофакторную проверку подлинности. For База данных SQL SQL Database and Azure Synapse Analytics Azure Synapse Analytics contained database users, SSMS can support Multi-Factor Authentication. Дополнительные сведения: Поддержка в SSMS многофакторной проверки подлинности Azure AD для базы данных SQL и Azure Synapse Analytics Azure Synapse Analytics . For more information, see SSMS support for Azure AD MFA with SQL Database and Azure Synapse Analytics Azure Synapse Analytics .
Разрешения Permissions
Необходимо разрешение ALTER ANY USER для базы данных. Requires ALTER ANY USER permission on the database.
Примеры Examples
A. A. Создание пользователя базы данных, соответствующего имени входа SQL Server Creating a database user based on a SQL Server login
В следующем примере сначала создается имя входа SQL Server SQL Server AbolrousHazem , а затем создается соответствующий пользователь AbolrousHazem в базе данных AdventureWorks2012 . The following example first creates a SQL Server SQL Server login named AbolrousHazem , and then creates a corresponding database user AbolrousHazem in AdventureWorks2012 .
Изменение на пользовательскую базу данных. Change to a user database. Например, в SQL Server SQL Server используйте инструкцию USE AdventureWorks2012 . For example, in SQL Server SQL Server use the USE AdventureWorks2012 statement. В Azure Synapse Analytics Azure Synapse Analytics и Параллельное хранилище данных Parallel Data Warehouse необходимо создать новое подключение к пользовательской базе данных. In Azure Synapse Analytics Azure Synapse Analytics and Параллельное хранилище данных Parallel Data Warehouse , you must make a new connection to the user database.
Б. B. Создание пользователя базы данных со схемой по умолчанию Creating a database user with a default schema
В следующем примере вначале создается имя входа WanidaBenshoof с паролем на сервер, а затем в базе данных создается соответствующий пользователь Wanida со схемой по умолчанию Marketing . The following example first creates a server login named WanidaBenshoof with a password, and then creates a corresponding database user Wanida , with the default schema Marketing .
В. C. Создание пользователя базы данных из сертификата Creating a database user from a certificate
В следующем примере в базе данных создается пользователь JinghaoLiu из сертификата CarnationProduction50 . The following example creates a database user JinghaoLiu from certificate CarnationProduction50 .
Область применения: SQL Server 2008 SQL Server 2008 и более поздних версий. Applies to: SQL Server 2008 SQL Server 2008 and later.
Г. D. Создание и использование пользователя без имени входа Creating and using a user without a login
В следующем примере создается пользователь базы данных CustomApp , который не сопоставляется с именем входа SQL Server SQL Server . The following example creates a database user CustomApp that does not map to a SQL Server SQL Server login. Затем пример предоставляет пользователю adventure-works\tengiz0 разрешение на олицетворение CustomApp пользователя. The example then grants a user adventure-works\tengiz0 permission to impersonate the CustomApp user.
Для использования учетных данных CustomApp , пользователь adventure-works\tengiz0 выполняет следующее выражение. To use the CustomApp credentials, the user adventure-works\tengiz0 executes the following statement.
Для возврата к учетным данным adventure-works\tengiz0 , пользователь выполняет следующее выражение. To revert back to the adventure-works\tengiz0 credentials, the user executes the following statement.
Д. E. Создание пользователя автономной базы данных с паролем Creating a contained database user with password
В следующем примере создается пользователь автономной базы данных с паролем. The following example creates a contained database user with password. Этот пример можно выполнить только в автономной базе данных. This example can only be executed in a contained database.
Область применения: SQL Server 2012 (11.x) SQL Server 2012 (11.x) и более поздних версий. Applies to: SQL Server 2012 (11.x) SQL Server 2012 (11.x) and later. Этот пример работает в База данных SQL SQL Database , если удаляется DEFAULT_LANGUAGE. This example works in База данных SQL SQL Database if DEFAULT_LANGUAGE is removed.
Е. F. Создание пользователя автономной базы данных для имени входа домена Creating a contained database user for a domain login
В следующем примере создается пользователь автономной базы данных для имени входа Fritz в домене Contoso. The following example creates a contained database user for a login named Fritz in a domain named Contoso. Этот пример можно выполнить только в автономной базе данных. This example can only be executed in a contained database.
Область применения: SQL Server 2012 (11.x) SQL Server 2012 (11.x) и более поздних версий. Applies to: SQL Server 2012 (11.x) SQL Server 2012 (11.x) and later.
Ж. G. Создание пользователя автономной базы данных с конкретным идентификатором SID Creating a contained database user with a specific SID
В следующем примере создается пользователь автономной базы данных с проверкой подлинности SQL Server, имя пользователя — CarmenW. The following example creates a SQL Server authenticated contained database user named CarmenW. Этот пример можно выполнить только в автономной базе данных. This example can only be executed in a contained database.
Область применения: SQL Server 2012 (11.x) SQL Server 2012 (11.x) и более поздних версий. Applies to: SQL Server 2012 (11.x) SQL Server 2012 (11.x) and later.
З. H. Создание пользователя для копирования зашифрованных данных Creating a user to copy encrypted data
В следующем примере создается пользователь, который может копировать данные, защищенные компонентом Always Encrypted, из одного набора таблиц, содержащего зашифрованные столбцы, в другой набор таблиц с зашифрованными столбцами (в той же или другой базе данных). The following example creates a user that can copy data that is protected by the Always Encrypted feature from one set of tables, containing encrypted columns, to another set of tables with encrypted columns (in the same or a different database). Дополнительные сведения см. в разделе Перенос конфиденциальных данных с помощью функции Always Encrypted. For more information, see Migrate Sensitive Data Protected by Always Encrypted.
Применимо к: SQL Server 2016 (13.x); SQL Server 2016 (13.x) и выше, База данных SQL SQL Database . Applies to: SQL Server 2016 (13.x); SQL Server 2016 (13.x) and later, База данных SQL SQL Database .
И. I. Создание пользователя Azure AD по имени входа Azure AD в Управляемом экземпляре SQL Create an Azure AD user from an Azure AD login in SQL Managed Instance
Чтобы создать пользователя Azure AD по имени входа Azure AD, используйте приведенный ниже синтаксис. To create an Azure AD user from an Azure AD login, use the following syntax.
Войдите в управляемый экземпляр, используя имя входа Azure AD с ролью sysadmin . Sign into your managed instance with an Azure AD login granted with the sysadmin role. Приведенная ниже инструкция создает пользователя Azure AD bob@contoso.com по имени входа bob@contoso.com. The following creates an Azure AD user bob@contoso.com, from the login bob@contoso.com. Это имя входа было создано в примере CREATE LOGIN. This login was created in the CREATE LOGIN example.
При создании пользователя по имени входа Azure AD указываемое значение user_name должно совпадать со значением *login_name*имени входа. When creating a USER from an Azure AD login, specify the user_name as the same login_name from LOGIN.
Создание пользователя Azure AD в качестве группы на основе имени входа Azure AD, являющегося группой, не поддерживается. Creating an Azure AD user as a group from an Azure AD login that is a group is supported.
Вы можете создать пользователя Azure AD по имени входа Azure AD, являющемуся группой. You can also create an Azure AD user from an Azure AD login that is a group.
К. J. Создание пользователя Azure AD без имени входа AAD для базы данных Create an Azure AD user without an AAD login for the database
Чтобы создать пользователя Azure AD bob@contoso.com (автономного) в базе данных Управляемого экземпляра SQL, используйте следующий синтаксис: The following syntax is used to create an Azure AD user bob@contoso.com, in the SQL Managed Instance database (contained user):
Дальнейшие действия Next steps
После создания пользователя вы можете добавить пользователя к роли базы данных с помощью инструкции ALTER ROLE. Once the user is created, consider adding the user to a database role using the ALTER ROLE statement.
Используйте GRANT для предоставления роли разрешений на объект, чтобы она имела доступ к таблицам. You might also want to GRANT Object Permissions to the role so they can access tables. Общие сведения о модели безопасности SQL Server см. в разделе Разрешения. For general information about the SQL Server security model, see Permissions.