Первая важная вещь, которую необходимо понять о безопасности SQL Server, - это то, что в ней задействованы две области безопасности - сервер и база данных. Область сервера охватывает несколько областей базы данных. Вся работа выполняется в контексте некоторой базы данных, но для того, чтобы выполнить эту работу, необходимо сначала иметь доступ к серверу, а затем иметь доступ к базе данных.
Доступ к серверу предоставляется через логины. Существуют две основные категории имен входа: аутентифицированные имена входа SQL Server и авторизованные имена входа Windows. Я обычно буду ссылаться на них, используя более короткие имена логинов SQL и логинов Windows. Аутентифицированные логины Windows могут быть либо логинами, сопоставленными с пользователями Windows, либо логинами, сопоставленными с группами Windows. Таким образом, чтобы иметь возможность подключиться к серверу, необходимо иметь доступ через один из этих типов или логины - логины предоставляют доступ к области сервера.
Но входов в систему недостаточно, потому что работа обычно выполняется в базе данных, а базы данных - это отдельные области. Доступ к базам данных предоставляется через пользователей.
Пользователи сопоставляются с именами входа и сопоставление выражается свойством SID учетных записей и пользователей. Имя входа сопоставляется с пользователем в базе данных, если его значения SID идентичны. Поэтому в зависимости от типа входа в систему мы можем иметь классификацию пользователей, которая имитирует вышеупомянутую категоризацию для входов в систему; Итак, у нас есть пользователи SQL и пользователи Windows, и последняя категория состоит из пользователей, сопоставленных с именами пользователей Windows, и пользователей, сопоставленных с именами групп Windows.
Давайте сделаем шаг назад для быстрого обзора: логин обеспечивает доступ
к серверу, а для дальнейшего доступа к базе данных в базе данных
должен существовать пользователь, сопоставленный с логином.