Поделиться через


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

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsСистема платформы аналитики (PDW)База данных SQL в предварительной версии Microsoft Fabric

В этой статье описывается создание наиболее распространенных типов пользователей базы данных. Существует 13 типов пользователей. Полный список представлен в статье CREATE USER. Все разновидности SQL Server поддерживают пользователей базы данных, но не обязательно все типы пользователей.

Вы можете создать пользователя базы данных с помощью SQL Server Management Studio или с помощью Transact-SQL.

Общие сведения о типах пользователей

Management Studio предоставляет шесть вариантов при создании пользователя базы данных. На следующей схеме показаны шесть параметров в зеленом поле и указывают, что они представляют.

Схема со сведениями о различных типах пользователей.

Выберите тип пользователя

Если вы не знакомы с SQL Server, может быть трудно определить, какой тип пользователя вы хотите создать. Сначала спросите себя, имеется ли имя для входа у пользователя или группы, которым нужен доступ к базе данных?

Создание пользователя с логином

Имена входа в master базе данных являются общими для пользователей, управляющих SQL Server, и для пользователей, которым требуется доступ ко многим или всем базам данных в экземпляре SQL Server. В этой ситуации создайте пользователя SQL с именем входа. Пользователь базы данных является идентификатором входа при подключении к базе данных. Пользователь базы данных может использовать то же имя, что и имя входа, но это не обязательно. В этой статье предполагается, что учетная запись уже существует в SQL Server. Сведения о создании имени входа см. в разделе "Создание имени входа".

Создание пользователя без входа

Если у пользователя или группы, которым требуется доступ к базе данных, нет имени входа и если у них есть доступ только к одной или нескольким базам данных, создайте пользователя Windows или пользователя SQL с паролем. Также называется пользователем автономной базы данных. Пользователь автономной базы данных не связан с именем входа в master базу данных. Это отличный выбор, когда вы хотите легко перемещать базу данных между экземплярами SQL Server. Чтобы использовать этот параметр в SQL Server, администратор должен сначала включить содержащиеся базы данных для SQL Server и включить базу данных для хранения. Дополнительные сведения см. в статье "Создание переносимой базы данных с помощью содержащихся баз данных".

Important

При подключении в качестве пользователя автономной базы данных необходимо указать имя базы данных в рамках строка подключения. Чтобы указать базу данных в среде SQL Server Management Studio (SSMS), в диалоговом окне "Подключение к" выберите пункт "Параметры" и перейдите на вкладку "Свойства подключения".

Выберите пользователя SQL с паролем или пользователя SQL с именем входа на основе логина для проверки подлинности SQL Server, если пользователь не может пройти проверку подлинности с помощью Windows. Это часто происходит, когда пользователи за пределами вашей организации (например, клиенты) подключаются к SQL Server.

Tip

Для сотрудников внутри организации лучше выбрать проверку подлинности Windows. Это избавит их от необходимости запоминать еще один пароль. Кроме того, проверка подлинности Windows представляет дополнительные возможности безопасности, такие как Kerberos.

Background

Пользователь является главным субъектом безопасности на уровне базы данных. Для соединения с базой данных имя входа должно быть сопоставлено с пользователем базы данных. Имя входа может быть сопоставлено с различными базами данных в качестве разных пользователей, но в каждой базе данных ему может быть сопоставлен только один пользователь. В частично содержимой базе данных можно создать пользователя без имени входа. Дополнительные сведения о пользователях автономной базы данных см. в статье CREATE USER. Если в базе данных активирован гость, учетная запись входа, не связанная с пользователем базы данных, может получить доступ к базе данных как гость.

Начиная с SQL Server 2012 (11.x), SQL Server и Базы данных SQL Azure использовали хэш SHA-512 в сочетании с 32-разрядной случайной и уникальной солью. Этот метод сделал его статистически неуловимым для злоумышленников, чтобы вывести пароли.

Предварительная версия SQL Server 2025 (17.x) представляет итерированный хэш-алгоритм, RFC2898, также известный как функция на основе ключа на основе паролей (PBKDF). Этот алгоритм по-прежнему использует SHA-512, но хэширует пароль несколько раз (100 000 итерации), значительно замедляя атаки подбора. Это изменение повышает защиту паролей в ответ на развитие угроз безопасности и помогает клиентам соответствовать рекомендациям NIST SP 800-63b.

Important

Как правило, пользователь "guest" отключен. Не включите гостевого пользователя, если это не необходимо.

Пользователям, являющимся субъектами безопасности, могут предоставляться разрешения. Областью действия пользователя является база данных. Чтобы подключиться к определенной базе данных в экземпляре SQL Server, необходимо сопоставить имя входа с пользователем базы данных. Разрешения внутри базы данных предоставляются и запрещаются для пользователя базы данных, а не имени входа.

Permissions

Необходимо разрешение ALTER ANY USER на базу данных.

Создание пользователя с использованием SSMS

  1. В обозревателе объектов раскройте папку Базы данных .

  2. Разверните базу данных, в которой создается новый пользователь базы данных.

  3. Щелкните правой кнопкой мыши папку Безопасность, выберите пункт Создать, а затем Пользователь....

  4. В диалоговом окне Пользователь базы данных — создание на странице Общие выберите один из следующих типов пользователей в списке Тип пользователя:

    • пользователь SQL с логином
    • Пользователь SQL с паролем (если включена содержащаяся база данных)
    • Пользователь SQL без учетной записи для входа
    • Пользователь, сопоставленный с сертификатом
    • Пользователь, связанный с асимметричным ключом
    • Windows user

    В базе данных SQL Fabric WITH PASSWORD не поддерживается, так как Microsoft Entra ID для пользователей базы данных является единственным поддерживаемым методом аутентификации.

  5. При выборе параметра остальные параметры в диалоговом окне могут измениться. Некоторые варианты применимы только к определенным типам пользователей базы данных. Некоторые параметры можно оставить пустым и использовать значение по умолчанию.

    • User name

      Введите имя нового пользователя. Если вы выбрали пользователя Windows из списка типов пользователей, вы также можете выбрать многоточие (...), чтобы открыть диалоговое окно выбора пользователя или группы.

    • Login name

      Введите имя входа для пользователя. Кроме того, выберите многоточие (...), чтобы открыть диалоговое окно выбора входа . Имя входа доступно, если выбрать элемент SQL-пользователь с именем входа или Пользователь Windows в списке Тип пользователя .

    • Пароль и Подтверждение пароля

      Введите пароль для пользователей, которые проходят аутентификацию в базе данных.

    • Default language

      Укажите язык по умолчанию для пользователя.

    • Default schema

      Укажите схему, которая будет владеть объектами, созданными пользователем. Кроме того, выберите многоточие (...), чтобы открыть диалоговое окно "Выбор схемы ". Схема по умолчанию доступна, если выбрать элемент SQL-пользователь с именем входа, SQL-пользователь без имени входаили Пользователь Windows в списке Тип пользователя .

    • Certificate name

      Укажите сертификат для пользователя базы данных. Кроме того, выберите многоточие (...), чтобы открыть диалоговое окно "Выбор сертификата ". Имя сертификата доступно, если выбрать элемент Пользователь, сопоставленный с сертификатом в списке Тип пользователя .

    • Имя асимметричного ключа

      Введите ключ для пользователя базы данных. Кроме того, выберите многоточие (...), чтобы открыть диалоговое окно "Выбрать асимметричный ключ". Имя асимметричного ключа доступно, если выбрать элемент Пользователь, сопоставленный с асимметричным ключом в списке Тип пользователя .

  6. Select OK.

Additional options

Новое диалоговое окно "Пользователь базы данных" также предлагает варианты на четырех других страницах: собственные схемы, членство, защищаемые объекты и расширенные свойства.

  • На странице Собственные схемы перечислены все возможные схемы, которые принадлежат новому пользователю базы данных. Чтобы добавить схему для пользователя базы данных или удалить ее, на вкладке Схемы, принадлежащие этому пользователюустановите или снимите флажки для соответствующей схемы.

  • На странице Членство приведен список всех ролей, к которым может принадлежать новый пользователь базы данных. Чтобы добавить роль для пользователя базы данных или удалить ее, на вкладке Членство ролей базы данныхустановите или снимите флажки для соответствующей роли.

  • На странице Защищаемые объекты перечислены все возможные защищаемые объекты и разрешения на эти объекты, которые могут быть предоставлены для входа.

  • Страница Расширенные свойства позволяет добавлять пользовательские свойства пользователям базы данных. На этой странице доступны следующие параметры.

    • Database

      Отображает имя выбранной базы данных. Это поле доступно только для чтения.

    • Collation

      Отображает параметры сортировки, используемые для выбранной базы данных. Это поле доступно только для чтения.

    • Properties

      Просмотрите или укажите расширенные свойства объекта. Каждое расширенное свойство состоит из пары имя/значение метаданных, связанных с объектом.

    • Ellipsis (...)

      Выберите многоточие (...) после Значение, чтобы открыть диалоговое окно "Значение для расширенного свойства". Введите или просмотрите значение расширенного свойства в этом более просторном окне. Дополнительные сведения см. в разделе Диалоговое окно «Значение для расширенного свойства».

    • Delete

      Удаляет выбранное расширенное свойство.

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

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На панели "Стандартный" выберите "Создать запрос".

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.

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

Дополнительные сведения см. в статье CREATE USER, которая содержит множество примеров Transact-SQL.