Как создать пользователя в sql server
Перейти к содержимому

Как создать пользователя в sql server

  • автор:

Как в MS SQL Server создать пользователя

Права в MS SQL и создание пользователей. CREATE USER, GRANT, REVOKE

На первый взгляд, в MS SQL нестандартная система учетных записей. В ней существуют логины и пользователи.

Логины — это понятие всего сервера SQL. У них могут быть права на какие-то административные задачи (например бэкап). Им можно дать права на какие-то действия с базой или таблицой. Для того что бы у логина были права на базу на основе него создается пользователь. Они могут быть как SQL логином, так и созданные на основе существующих пользователя Windows или AD. Например тот пользователь, который устанавливал MS SQL так же добавился в список логинов. Рекомендуется использовать логины на основе Windows или AD, а не SQL логины.

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

Оба типа учетных записи можно создать как в графике, так и с помощью запроса T-SQL

T-SQL CREATE USER, CREATE LOGIN

Перейдем в базу данных, в которой мы работаем:

USE pubs

Для создания логина SQL выполним:

CREATE LOGIN Anton WITH PASSWORD='Password1910'

Anton — имя логина. Password1910 — пароль. У этого логина уже будут права на вход.

Посмотреть что этот логин создался можно так:

Как открыть список логинов MS SQL

Под номером 3 — это кнопка обновления. Может понадобится т.к. в графике изменения происходят не моментально.

Для создания пользователя привязанного к логину нужно выполнить:

CREATE USER AntonUser FOR LOGIN Anton

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

Что бы просто создать пользователя нужно:

CREATE USER JustUser WITHOUT LOGIN

Где JustUser — просто пользователь

Созданных пользователей можно увидеть так:

Список пользователей MS SQL

Пользователи создаются без каких либо прав на базу.

T-SQL GRANT

GRANT в пер. «Разрешение» дает права на какое-то действие.

Что бы дать пользователю право получать данные из какой-то таблицы нужно выполнить:

GRANT SELECT ON dbo.authors TO AntonUser

Если мы хотим зайти под созданным пользователем нам нужно выполнить ряд действий. Дело в том, что по умолчанию аутентификация по логинам SQL отключена (разрешена только Windows). Для этого зайдем в свойства сервера:

Свойства сервера Microsoft SQL

Затем в «Безопасность» и включи аутентификация SQL

Включение аутентификации SQL

Теперь мы сможем зайти под логином SQL. Для этого сделаем следующее — откроем новое окно запросов Ctr + N или нажмем кнопку:

Кнопка нового запроса MS SQL

Важно сделать так, что бы у нас было 2 окошка для запросов до того как мы сменем пользователя. Благодаря этому у нас каждое окно будет работать под разными пользователями

Затем окно подключения пользователя:

Новое подключение MS SQL

Меняем тип подключени на SQL и вводим логин/пароль. Я создавал логин Anton, с паролем Password1910.

После подключения можем увидеть, что одно окно работает под логином Anton, а другое под учетной записью с помощью которой мы проводили операции выше. Так же обратите внимания, что новые пользователь подключен к другой базе (master).

Пользователь в окне запроса MS SQL

Перейдем к базе, на которую мы давали права. В моем случае это база pubs

USE pubs

Я давал права на SELECT для таблицы dbo.authors. Проверем работу:

SELECT * FROM dbo.authors

Запрос дожен пройти успешно.

Для другой таблицы, на которую мы не давали прав:

SELECT * FROM dbo.titles

The SELECT permission was denied on the object ‘titles’, database ‘pubs’, schema ‘dbo’.

Что бы отозвать разрешение на SELECT нужно заменить GRANT на REVOKE (не забудьте переключится на окно у которого есть разрешение или переключится на предыдущего пользователя):

REVOKE SELECT ON dbo.authors TO AntonUser

Разрешений, которые мы можем выдать пользователю достаточно много. Это основные:

MS SQL права для пользователей

Мы можем так же явно запретить пользователю выполнять определенные запросы. Для этого есть DENY:

DENY SELECT ON dbo.authors TO AntonUser

Что ба дать разрешение на создание таблиц:

USE Pubs; GRANT CREATE TABLE TO Anton;

Теперь создадим логин через графический интерфейс. Нажмем следующие кнопки:

Создание логина MS SQL

В новом окне мы должны заполнить логин (1) и пароль (3). Под цифрой 2 мы можем увидеть выбор способа аутентификации. В случае Windows мы должны будем выбрать локального пользователя или пользователя AD. Перейдем на закладку Server Roles (4).

Настройки логина для MS SQL

Перед нами находятся роли уровня сервера. Все эти роли это просто набор прав. В Microsoft SQL мы так же можем создать и свои группы. Public — роль по умолчанию для всех, кому разрешено вход. Из всех созданных ролей только public можно изменять.

Роли уровня сервера MS SQL

Приведу описание самых популярных ролей:

MS SQL роли пользователей

Перейдем на следующую вкладку (2)

На этой закладке можно сразу создать пользователя и привязать его к базе данных. На этой закладке отображаются 4 базы, которые вы скорее всего раньше не видели. Это системные базы данных, которые хранят в себе транзакции, структуру подключенных баз, скрипты агента и т.д. В области 2 можно дать права на выделенную базу данных.

Права пользователя MS SQL

Коротко о нескольких ролях баз данных:

MS SQL права пользователей

Роль public, в отличии от всех остальных, можно изменять. Т.е. можно дать роли public разрешение на SELECT и тогда все пользователи с логином смогут это делать. По умолчанию эта ролько может делать запросы типа:

SELECT 1+1

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

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

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

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

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

Diagram that explains the different types of users.

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

Имя для входа или пользователь, который не сопоставлен с именем для входа

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

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

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

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

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

Общие сведения

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

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

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

Разрешения

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

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

  1. В обозревателе объектов раскройте папку Базы данных .
  2. Разверните базу данных, в которой создается новый пользователь базы данных.
  3. Щелкните правой кнопкой мыши папку Безопасность, выберите пункт Создать, а затем Пользователь. .
  4. В диалоговом окне Пользователь базы данных — создание на странице Общие выберите один из следующих типов пользователей в списке Тип пользователя:
    • пользователь SQL с именем для входа
    • Пользователь SQL с паролем (если включена содержащаяся база данных)
    • Пользователь SQL без имени для входа
    • Пользователь, сопоставленный с сертификатом
    • Пользователь, сопоставленный с асимметричным ключом
    • пользователя Windows
  5. Когда вы выбираете вариант, остальные параметры в диалоговом окне могут поменяться. Некоторые варианты применимы только к определенным типам пользователей базы данных. Некоторые параметры можно не заполнять. В результате будут использоваться значения по умолчанию. Имя пользователя
    Введите имя нового пользователя. Если вы выбрали пользователя Windows из списка типов пользователей, вы также можете выбрать многоточие (. ), чтобы открыть диалоговое окно выбора пользователя или группы. Имя входа
    Введите имя входа для пользователя. Кроме того, выберите многоточие (. ), чтобы открыть диалоговое окно выбора входа . Имя входа доступно, если выбрать элемент SQL-пользователь с именем входа или Пользователь Windows в списке Тип пользователя . Пароль и Подтверждение пароля
    Введите пароль для пользователей, которым требуется доступ к базе данных. Язык по умолчанию
    Укажите язык по умолчанию для пользователя. Схема по умолчанию
    Укажите схему, которая будет владеть объектами, созданными пользователем. Кроме того, выберите многоточие (. ), чтобы открыть диалоговое окно «Выбор схемы «. Схема по умолчанию доступна, если выбрать элемент SQL-пользователь с именем входа, SQL-пользователь без имени входаили Пользователь Windows в списке Тип пользователя . Имя сертификата
    Укажите сертификат для пользователя базы данных. Кроме того, выберите многоточие (. ), чтобы открыть диалоговое окно «Выбор сертификата «. Имя сертификата доступно, если выбрать элемент Пользователь, сопоставленный с сертификатом в списке Тип пользователя . Имя асимметричного ключа
    Введите ключ для пользователя базы данных. Кроме того, выберите многоточие (. ), чтобы открыть диалоговое окно «Выбрать асимметричный ключ«. Имя асимметричного ключа доступно, если выбрать элемент Пользователь, сопоставленный с асимметричным ключом в списке Тип пользователя .
  6. Нажмите ОК.

Дополнительные параметры

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

  • На странице Собственные схемы перечислены все возможные схемы, которые принадлежат новому пользователю базы данных. Чтобы добавить схему для пользователя базы данных или удалить ее, на вкладке Схемы, принадлежащие этому пользователюустановите или снимите флажки для соответствующей схемы.
  • На странице Членство приведен список всех ролей, к которым может принадлежать новый пользователь базы данных. Чтобы добавить роль для пользователя базы данных или удалить ее, на вкладке Членство ролей базы данныхустановите или снимите флажки для соответствующей роли.
  • На странице Защищаемые объекты перечислены все возможные защищаемые объекты и разрешения на эти объекты, которые могут быть предоставлены для имени входа.
  • Страница Расширенные свойства позволяет добавлять пользовательские свойства пользователям базы данных. На этой странице доступны следующие параметры. База данных
    Отображает имя выбранной базы данных. Это поле доступно только для чтения. Параметры сортировки
    Отображает параметры сортировки, используемые для выбранной базы данных. Это поле доступно только для чтения. Свойства
    Просмотрите или укажите расширенные свойства объекта. Каждое расширенное свойство состоит из пары имя/значение метаданных, связанных с объектом. Кнопка с многоточием (. )
    Выберите многоточие (. ) после значения, чтобы открыть диалоговое окно «Значение для расширенного свойства«. Введите или просмотрите значение расширенного свойства в этом более просторном окне. Дополнительные сведения см. в разделе Диалоговое окно «Значение для расширенного свойства». Удаление
    Удаляет выбранное расширенное свойство.

Создание пользователя с использованием 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 above. CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem; GO 

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

См. также

  • Субъекты (ядро СУБД)
  • Создание имени входа
  • CREATE LOGIN (Transact-SQL)

Добавление нового пользователя в Microsoft SQL Server 2012

В данной статье будет подробно, в деталях, рассказано как создать нового пользователя в Microsoft SQL Server 2012 (в более старых редакциях, например в Microsoft SQL Server 2008 R2, набор действий аналогичен).

0. Оглавление

  1. Добавление нового пользователя
  2. Проверка подлинности SQL Server
  3. Проверка подлинности Windows

1. Добавление нового пользователя

Запускаем утилиту «SQL Server Management Studio». В Microsoft Windows server 2012 R2 ее можно найти в списке всех программ.

Ustanovka_SQL_2012_23

В Microsoft Windows Server 2008 R2 в меню «Пуск» (Start) — «Microsoft SQL Server 2012» — «Среда SQL Server Management Studio».

Ustanovka_SQL_2012_23

Вводим имя сервера, данные для авторизации и нажимаем «Соединить» (Connect).

В обозревателе объектов раскрываем вкладку «Безопасность» (Security), кликаем правой кнопкой мыши по вкладке «Имена входа» (Logins) и в контекстном меню выбираем «Создать имя входа…» (New Login…)

Откроется окно создания имени входа (Login — New). Теперь необходимо определиться с вариантом аутентификации нового пользователя. Возможны 2 варианта:

  • Аутентификация с помощью пароля — Проверка подлинности SQL Server (SQL Server Authentication).
  • Доступ для конкретного пользователя Windows — Проверка подлинности Windows (Windows authentication).

2. Проверка подлинности SQL Server

Для начала рассмотрим первый способ аутентификации. Например, создадим пользователя для работы сервера 1С:Предприятие. Укажем имя входа (Login name), выберем «Проверка подлинности SQL Server» (SQL Server Authentication) и введем пароль (Password) пользователя. Далее снимаем / отмечаем галочки у следующих параметров:

  • Требовать использование политики паролей (Enforce password policy)
  • Задать срок окончания действия пароля (Enforce password expiration)
  • Пользователь должен сменить пароль при следующем входе (User must change password at next login)

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

Также сразу рекомендую выбрать язык по умолчанию. Если вы используете английскую версию SQL Server, то и служебные сообщения, которые SQL Server будет передавать приложению, подключенному под данным пользователем (в данном случае программе 1С:Предприятие, следовательно и конечному пользователю, работающему в программе) будут передаваться на английском языке. Если язык по умолчанию для пользователя выбрать, например, русский, то и служебные сообщения будут передаваться на русском языке.

Устанавливаем необходимые параметры и переходим на вкладку «Роли сервера» (Server Roles).

Здесь выбираем набор прав добавляемого пользователя. Для этого отмечаем необходимые роли сервера. С полным описанием предопределенных ролей сервера и их возможностями можно ознакомиться здесь. Для текущей задачи выбираем:

  • dbcreator
  • processadmin
  • public

После чего нажимаем «ОК» для сохранения выполненных действий.

3. Проверка подлинности Windows

Теперь добавим администратора SQL Server, выбрав его из текущих пользователей Windows. Для этого создадим нового пользователя и способ аутентификации укажем «Проверка подлинности Windows» (Windows authentication). Далее, чтобы ввести имя входа, нажмем «Найти» (Search…), затем «Дополнительно» (Advanced…), в следующем окне «Поиск» (Find Now) и выбрав необходимого пользователя из списка, закроем все окна нажав на «ОК».

Перейдем на вкладку «Роли сервера» (Server Roles) и в соответствии с поставленной задачей укажем роли:

Нажмем «ОК» для сохранения нового пользователя.

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

Помогла ли Вам данная статья?

Смотрите также:

Добавление базы данных в Microsoft SQL Server 2012 Ниже приведена пошаговая инструкция, показывающая как добавить новую базу данных в Microsoft SQLServer 2012 (в более старых редакциях, например в Microsoft SQL Server 2008 R2, набор действий аналогичен). Запускаем…

Изменение версии или ввод ключа Microsoft SQL Server 2012 В данной статье будет рассказано о том, как изменить версию уже установленного Microsoft SQL Server 2012. Это может пригодится, например, в ситуации, когда вы установили выпуск Evaluation Edition в ознакомительных целях, а затем, по истечении…

Лицензирование MS SQL Server 2012 В данной статье будут рассмотрены способы лицензирования Microsoft SQL Server 2012. Будет приведен краткий обзор каждого из способов лицензирования, а также указаны возможные варианты лицензирования для различных выпусков MS SQL Server…

Запись опубликована в рубрике Microsoft SQL Server 2012 с метками 1Сv8, SQL. Добавьте в закладки постоянную ссылку.

21 Responses to Добавление нового пользователя в Microsoft SQL Server 2012

Cookie Cutter говорит:

У меня SQL выдает следующее сообщение об ошибке при регистрации пользователя Administrator «Windows authentication». То есть если у вас был Administrator — вы его не можете добавить. Необходимо сделать ещё одного юзера c отличным именем.

Elena говорит:

Добрый день, интересует вот такой вопрос, как можно осуществлять передачу данных с одного ПК с сервером на другой? По клиентской подписке? И за счет чего происходит сама передача данных? Там же нет копирования верно? Если представим, что у нас есть главном Пк, где хранится все информация и установлено основное ПО и есть другой Пк, на который нужно отобразить часть информации, которая на главном, там доп ПО + файл конфегурации… Я очень далеко от IT, но срочно нужно разобраться с вопросом..

Артур говорит:

немного помогла.
Открыл доступ с другого ПК на базу как Гость.
Но…
Как подключить пользователя с другого ПК в своей сети именно как админа с аутенфикацией NT?

Виталий Онянов говорит:

Если у вас нет домена, то попробуйте следующее: На гостевом компьютере и на компьютер с SQL сервером создайте пользователя Wondpws с одинаковым именем и одинаковым паролем. Затем создайте имя входа SQL с аутентификацией локального компьютера и попробуйте подключиться к SQL-серверу с гостевой машины, используя данное имя входа.

Владимир говорит:

Есть 2 домена, доверительные отношения настроены, при создании имени входа из другого домена, все идет хорошо, домен виден, пользователь находится, выбираю пользователя, но при попытке добавить имя входа сервер отвечает, что «Пользователь не найден, проверьте правильность имени пользователя».

15) SQL Server Создать пользователя

Вы также можете создать логин с помощью команды T-SQL.

CREATE LOGIN MyLogin WITH PASSWORD = '123';

Как создать пользователя

Пользователь – это учетная запись, которую вы можете использовать для доступа к серверу SQL. Для создания пользователей вы можете использовать любой из следующих двух способов:

  • Использование T-SQL
  • Использование SQL Server Management Studio

Создать пользователя с помощью SQL Server Management Studio

Вы будете создавать пользователя для базы данных EDU_TSQL.

  1. Подключитесь к SQL Server, затем разверните папку «Базы данных» в обозревателе объектов.
  2. Определите базу данных, для которой вам нужно создать пользователя, и разверните ее.
  3. Разверните его папку «Безопасность».
  4. Щелкните правой кнопкой мыши папку «Пользователи» и выберите «Новый пользователь…»

Вы получите следующий экран,

  1. Введите желаемое имя пользователя
  2. Введите имя для входа (создано ранее)
  3. Нажмите ОК

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

Вы можете создать нового пользователя USER с помощью команды create user в T-SQL. Команда имеет следующий синтаксис:

create user for login

create user Guru99 for login MyLogin

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

Назначение разрешения пользователю

Разрешения относятся к правилам, которые управляют уровнями доступа пользователей к защищенным ресурсам SQL Server. SQL Server позволяет вам предоставлять, отзывать и запрещать такие разрешения. Существует два способа назначения разрешений в SQL Server:

  • Использование T-SQL
  • Использование SQL Server Management Studio

Назначьте разрешение с помощью SQL Server Management Studio

Шаг 1) Подключитесь к своему экземпляру SQL Server и разверните папки из обозревателя объектов, как показано ниже. Щелкните правой кнопкой мыши на имени пользователя, то есть Guru99, затем выберите Свойства.

Шаг 2) На следующем экране

  1. Выберите опцию Securables слева.
  2. Нажмите на Поиск

Шаг 3) В следующем окне

  1. Выберите «Все объекты, принадлежащие схеме».
  2. Выберите имя схемы как “dbo”
  3. Нажмите ОК

Шаг 4)

  1. Определите таблицу, которую вы хотите предоставить разрешение
  2. В явном разрешении выберите Грант
  3. Нажмите хорошо

Шаг 5) Пользователю Guru99 предоставляется разрешение SELECT на таблицу Course.

Предоставить разрешение с использованием T-SQL

Чтобы предоставить разрешение пользователю, использующему T-SQL, сначала выберите базу данных, используя оператор использования. Затем вы назначаете разрешение пользователю с помощью оператора предоставления. Вот синтаксис:

use grant on to

Например, следующая команда показывает, как вы можете предоставить разрешение на выбор пользователю Guru99 для объекта (таблицы) с именем Course в базе данных EDU_TSQL:

USE EDU_TSQL GO Grant select on Course to Guru99

Разрешение будет предоставлено!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *