Добавление пользователей базы данных

Пользователь может войти в систему баз данных, используя учетную запись пользователя Windows или регистрационное имя входа в SQL Server. Для последующего доступа и работы с определенной базой данных пользователь также должен иметь учетную запись пользователя базы данных. Для работы с каждой отдельной базой данных требуется иметь учетную запись пользователя именно для этой базы данных. Учетную запись пользователя базы данных можно сопоставить с существующей учетной записью пользователя Windows, группой Windows (в которой пользователь имеет членство), регистрационным именем или ролью.
Управлять пользователями баз данных можно с помощью среды Management Studio или инструкций языка Transact-SQL. Оба эти способа рассматриваются в следующих подразделах.
Управление пользователями базы данных с помощью среды Management Studio
Чтобы добавить пользователя базы данных с помощью среды Management Studio, разверните узел сервера в окне Object Explorer и в нем папку «Databases», в этой папке разверните узел требуемой базы данных, а в ней папку «Security». Щелкните правой кнопкой мыши папку «Users» и в контекстном меню выберите пункт New User. Откроется диалоговое окно Database User — New, в котором следует ввести имя пользователя User name и выбрать соответствующее регистрационное имя Login name:

Здесь можно также выбрать схему по умолчанию для данного пользователя.
Управление безопасностью базы данных посредством инструкций языка Transact-SQL
Для добавления пользователя в текущую базу данных используется инструкция CREATE USER. Синтаксис этой инструкции выглядит таким образом:
Параметр user_name определяет имя, по которому пользователь идентифицируется в базе данных, а в параметре login указывается регистрационное имя, для которого создается данный пользователь. В параметрах cert_name и key_name указываются соответствующий сертификат и асимметричный ключ соответственно. Наконец, в параметре WITH DEFAULT_SCHEMA указывается первая схема, с которой сервер базы данных будет начинать поиск для разрешения имен объектов для данного пользователя базы данных.
Применение инструкции CREATE USER показано в примере ниже:
Для успешного выполнения на вашем компьютере второй инструкции примера требуется сначала создать учетную запись Windows для пользователя Alexandr и вместо домена (сервера) ProfessorWeb указать имя вашего сервера.
В этом примере первая инструкция CREATE USER создает пользователя базы данных Vasya для пользователя Vasya учетной записи Windows. Схемой по умолчанию для пользователя Vasya будет dbo, поскольку для параметра DEFAULT_SCHEMA значение не указано. Вторая инструкция CREATE USER создает нового пользователя базы данных Alex. Схемой по умолчанию для этого пользователя будет схема poco. (Параметру DEFAULT_SCHEMA можно присвоить в качестве значения схему, которая в данное время не существует в базе данных.)
Каждая база данных имеет своих конкретных пользователей. Поэтому инструкцию CREATE USER необходимо выполнить для каждой базы данных, для которой должна существовать учетная запись пользователя. Кроме этого, для определенной базы данных регистрационное имя входа в SQL Server может иметь только одного пользователя базы данных.
С помощью инструкции ALTER USER можно изменить имя пользователя базы данных, изменить схему пользователя по умолчанию или переопределить пользователя с другим регистрационным именем. Подобно инструкции CREATE USER, пользователю можно присвоить схему по умолчанию прежде, чем она создана.
Для удаления пользователя из текущей базы данных применяется инструкция DROP USER. Пользователя, который является владельцем защищаемых объектов (объектов базы данных), удалить нельзя.
Схемы базы данных по умолчанию
Каждая база данных в системе имеет следующие схемы по умолчанию:
Компонент Database Engine позволяет пользователям, которые не имеют учетной записи пользователя, работать с базой данных, используя схему guest. (Каждая созданная база данных имеет эту схему.) Для схемы guest можно применять разрешения таким же образом, как и для любой другой схемы. Кроме этого, схему guest можно удалить из любой базы данных, кроме системных баз данных master и tempdb.
Каждый объект базы данных принадлежит одной, и только одной схеме, которая является схемой по умолчанию для данного объекта. Схема по умолчанию может быть определена явно или неявно. Если при создании объекта его схема по умолчанию не определена явно, этот объект принадлежит к схеме dbo. Кроме этого, при использовании принадлежащей ему базы данных регистрационное имя всегда имеет специальное имя пользователя dbo.
Вся информация о схемах содержится в схеме information_schema. Схема sys, как можно догадаться, содержит системные объекты, такие как представления каталога.
How do I create a new user in SQL Server 2012 that I can use in a connection string?
I have a visual studio 2012 project, and I want to connect to the database using a connection string in my web config.
Since I only have two accounts (sa and my windows account) I want to create a new user that will only have access to this one database.
Google says, in SSMS, expand the database, right click Security and go to New User.
However, when I do this and try to create a user, I choose SQL user with login, enter a username and login name, and get the error:
‘news_login’ is not a valid login or you do not have permission
I’ve tried by logging into SSMS as ‘sa’, logging in as my windows account, and running SSMS with administrator permissions. I’ve tried a few different usernames, and to no avail.
I notice there is no password box, so I fear I am doing it all wrong. Any suggestions?
Руководство по созданию учетных записей пользователей SQL Server 2012
Как добавить пользователя в базу данных сервера Sql
SQL Server 2012 предоставляет широкий спектр функций безопасности, предназначенных для защиты конфиденциальности, целостности и доступности данных, хранящихся в базах данных вашего предприятия. Одной из наиболее важных задач, выполняемых администраторами базы данных, является внедрение контроля доступа на основе ролей, который ограничивает возможности пользователей получать и изменять данные в базе данных, если у них нет явной бизнес-необходимости. Это требует идентификации отдельных пользователей посредством использования именованных учетных записей пользователей.
SQL Server предоставляет два метода для создания учетных записей пользователей базы данных: аутентификация Windows или смешанный режим, который поддерживает аутентификацию Windows и аутентификацию SQL Server. В режиме аутентификации Windows вы назначаете все разрешения базы данных учетным записям Windows. Преимущество этого заключается в предоставлении пользователям возможности единой регистрации и упрощении управления безопасностью. В аутентификации SQL Server (смешанный режим) вы все равно можете назначать права пользователям Windows, но вы также можете создавать учетные записи, которые существуют только в контексте сервера базы данных.
Вообще говоря, лучше всего использовать режим аутентификации Windows, поскольку он снижает уровень сложности в вашей среде. Имея единый источник учетных записей пользователей, вы можете быть более уверены в том, что пользователи, покинувшие организацию, полностью отключены. Однако не всегда возможно удовлетворить все ваши требования аутентификации с помощью учетных записей домена, поэтому вам может потребоваться дополнить их локальными учетными записями, предназначенными для работы только с базами данных SQL Server.
Создание учетной записи SQL Server 2012
Если вам нужно создать учетную запись SQL Server при использовании аутентификации в смешанном режиме, выполните следующие действия для SQL Server 2012:
Откройте SQL Server Management Studio.
Подключитесь к базе данных SQL Server, где вы хотите создать логин.
Откройте папку Безопасность .
Нажмите правой кнопкой мыши папку Логины и выберите Новый вход .
Чтобы назначить права учетной записи Windows, выберите Проверка подлинности Windows . Чтобы создать учетную запись, которая существует только в базе данных, выберите Аутентификация SQL Server .
Введите имя для входа в текстовое поле. Вы можете использовать кнопку Обзор , чтобы выбрать существующую учетную запись, если вы выбрали аутентификацию Windows.
Если вы выбрали аутентификацию SQL Server, вы также должны указать надежный пароль в текстовых полях Пароль и Подтверждение .
При необходимости настройте базу данных и язык по умолчанию для учетной записи, используя раскрывающиеся списки в нижней части окна.
Выберите ОК , чтобы создать учетную запись.
Советы по созданию учетных записей SQL Server 2012
Вот несколько советов, которым вы должны следовать при создании учетных записей пользователей SQL Server 2012:
- Обязательно используйте надежный пароль, если вы создаете имя входа на SQL Server.
- Чтобы удалить существующую учетную запись (используя проверку подлинности SQL Server или проверку подлинности Windows), щелкните правой кнопкой мыши учетную запись в папке Логины и выберите Удалить .
- Создание учетной записи не создает разрешения базы данных. Следующим шагом процесса является добавление прав доступа к учетной записи.
- Аутентификация SQL Server доступна, только если вы выбрали аутентификацию смешанного режима для своего экземпляра SQL Server.
- Какой бы режим аутентификации вы ни использовали, будьте внимательны, создавайте учетные записи и назначайте привилегии пользователей. Администрирование безопасности – не самая гламурная из задач администрирования баз данных, но вы должны быть уверены, что все правильно.
Эта статья относится к SQL Server 2012. Если вы используете более раннюю версию SQL Server 2008, процедура такая же, но имейте в виду, что Microsoft прекратила поддержку SQL Server 2008 в 2014 году.
A Guide to Creating SQL Server 2012 User Accounts
SQL Server 2012 provides a wide range of security features designed to protect the confidentiality, integrity, and availability of data stored in your enterprise databases. One of the most important tasks that database administrators perform is the implementation of role-based access control that limits the ability of users to retrieve and modify data in the database unless they have an explicit business need to do so. This requires the identification of individual users through the use of named user accounts.
SQL Server provides two methods for creating database user accounts: Windows authentication or mixed mode, which supports Windows authentication and SQL Server authentication. In Windows authentication mode, you assign all database permissions to Windows accounts. This has the advantage of providing a single sign-on experience for users and of simplifying security management. In SQL Server (mixed mode) authentication, you can still assign rights to Windows users, but you can also create accounts that exist only in the context of the database server.
Generally speaking, it's best to use Windows authentication mode because it reduces the layers of complexity in your environment. By having a single source of user accounts, you can be more confident that users who leave the organization are fully de-provisioned. However, it's not always possible to meet all of your authentication needs with domain accounts, so you may need to supplement them with local accounts designed to work only with SQL Server databases.
This article applies to SQL Server 2012. If you are using the earlier version SQL Server 2008, the procedure is the same, but be aware that Microsoft ceased support for SQL Server 2008 in 2014.
Creating a SQL Server 2012 Account
If you need to create a SQL Server account when using mixed-mode authentication, follow this process for SQL Server 2012:
Open SQL Server Management Studio.
Connect to the SQL Server database where you want to create a login.
Open the Security folder.
Right-click on the Logins folder and select New Login.
To assign rights to a Windows account, select Windows authentication. To create an account that exists only in the database, select SQL Server authentication.
Provide the login name in the text box. You may use the Browse button to select an existing account if you chose Windows authentication.
If you chose SQL Server authentication, you must also provide a strong password in both the Password and Confirmation text boxes.
Customize the default database and language for the account, if desired, using the drop-down boxes at the bottom of the window.
Select OK to create the account.
Tips for Creating SQL Server 2012 Accounts
Here are some tips you should follow when creating SQL Server 2012 user accounts: