Администрируем
Oracle, SQL Server, PostgreSQL

Как работать с пользователями в Microsoft SQL Server?

В этой статье мы расскажем об основных способах создания и удаления пользователей СУБД Microsoft SQL Server на примере версии 2012: в среде Management Studio и посредством инструкций Transact-SQL.
Пользователи SQL Server создаются в два этапа:
  1. Создается имя входа на SQL Server. С его помощью пользователь будет в дальнейшем подключаться к экземпляру СУБД.
  2. Создается пользователь БД. Так выдается разрешение на работу с конкретными объектами SQL-базы.
Рассмотрим каждый этап подробнее.

Создание имени входа

На первом этапе, перед тем, как создать имя для подключения к SQL-серверу, нужно выбрать метод аутентификации:
  1. Проверка подлинности Windows – способ, позволяющий добавить администратора, выбрав его из числа конкретных учеток Windows;
  2. Проверка подлинности SQL-Server — аутентификация осуществляется с помощью пароля, а имя входа существует только в SQL Server.
В зависимости от выбора, используется тот или иной способ создания имени входа, речь о которых пойдет ниже

С помощью графического интерфейса SQL Server Management Studio

Запустите среду Management Studio, откройте обозреватель объектов и перейдите в нем по пути «Безопасность» => «Имена входа». Кликнув правой кнопкой мыши, выберите строку «Создать имя входа».
В открывшемся окне можно выбрать имя входа с проверкой подлинности SQL Server, задать его, придумать и подтвердить пароль. Здесь же можно настроить ряд других параметров, например, задать срок действия пароля, выбрать язык и базу данных, которая будет использоваться по умолчанию.
Когда все будет готово, нажмите «ОК». Все, имя входа создано и включено по умолчанию с правом роли сервера-издателя (public).

С помощью языка Transact-SQL в консоли SQL Server Management Studio

Запустите Management Studio и откройте в нем редактор запросов, где выполните инструкцию CREATE LOGIN — так вы сможете создать имя для подключения к SQL-серверу с проверкой при помощи пароля.

С проверкой подлинности Windows

Создание имени входа с проверкой подлинности Windows осуществляется посредством выполнения следующей SQL-инструкции:
CREATE LOGIN [ComputerName\NameUser] 
FROM WINDOWS 
WITH DEFAULT_DATABASE=[Test], 
DEFAULT_LANGUAGE=[русский];
GO
Расшифровка:
  • ComputerName\NameUser – имя компьютера или юзера;
  • FROM WINDOWS – тип проверки подлинности Windows;
  • WITH DEFAULT_DATABASE=[Test] – выбор БД, которая используется по умолчанию;
  • DEFAULT_LANGUAGE=[русский] – выбор языка, использующегося по умолчанию.

Отключение и включение имен входа в MS SQL Server

Иногда возникают ситуации, когда пользователь скомпрометирован и его имя входа нужно отключить, чтобы временно заблокировать доступ к серверу.
Инструкция для отключения:
ALTER LOGIN TestLogin DISABLE;
Инструкция для включения:
ALTER LOGIN TestLogin ENABLE;

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

Теперь, когда вы создали имя входа, можно перейти ко второму этапу создания пользователя БД — сопоставлению пользователя с именем входа. Сделать это также можно двумя способами: с помощью графического интерфейса Management Studio и с помощью инструкций языка T-SQL.

С помощью SQL Server Management Studio

В Management Studio новый пользователь SQL создается так. Откройте обозреватель объектов и перейдите по пути «Базы данных» => «Test» => «Безопасность» => «Пользователи». Кликнув правой кнопкой мыши, выберите строку «Создать пользователя».
В открывшемся окне введите нужное имя пользователя и имя входа, соответствующее этому пользователю. Там же укажите схему по умолчанию (если этого не сделать, то будет использоваться схема dbo).
В окне «пользователь базы данных» во вкладке «членство» можно присвоить созданному пользователю нужную роль, например db_datareader (чтение данных).

С помощью SQL Server Management Studio

Создать пользователя SQL Server со схемой dbo по умолчанию и ролью db_datareader можно выполнив следующую инструкцию на языке T-SQL:
USE Test
GO
CREATE USER [TestLogin] FOR LOGIN [TestLogin] WITH DEFAULT_SCHEMA=[dbo]
GO
ALTER ROLE [db_datareader] ADD MEMBER [TestLogin];
GO

Как удалить пользователя в SQL Server

Иногда у администраторов возникает необходимость в том, чтобы удалить пользователя SQL. Сделать это можно, во-первых, с помощью инструкции DROP USER Testlogin.
Во-вторых, можно воспользоваться графическим интерфейсе Management Studio. В этом случае в обозревателе объектов в актуальной базе данных перейти по пути «Безопасность» => «Пользователи» и, кликнув правой кнопкой мыши, выбрать строку «Удалить».
Чтобы удалить имя входа можно воспользоваться инструкцией DROP LOGIN TestLogin.
В Management Studio же имя входа удаляется посредством переход по пути «Безопасность» => «Имена входа» и, клика правой кнопкой мыши с последующим выбором строчки «Удалить».

Какие ошибки входа пользователя могут возникнуть?

Иногда при создании SQL-пользователя возникают ошибки. Например, при выполнении инструкций Transact-SQL возникают исключения из-за того, что выбранное имя не является допустимым для входа или отсутствует разрешение.
Чтобы защитить ваш бизнес от ошибок входа пользователя при настройке Microsoft SQL Server мы советуем обращаться к профессионалам. В «ДБ-сервис» вы сможете получить широкий спектр услуг по администрированию и поддержке SQL Server от квалифицированных инженеров.

Эксперт ДБ-сервис