Опубликован: 11.12.2006 | Доступ: свободный | Студентов: 5820 / 381 | Оценка: 4.42 / 3.86 | Длительность: 57:15:00
Лекция 34:

Управление пользователями и системой безопасности

Использование T-SQL для создания login-записей

Для создания login-записи с помощью T-SQL используется хранимая процедура sp_addlogin или хранимая процедура sp_grantlogin. Хранимая процедура sp_addlogin позволяет только добавлять аутентифицированного в SQL Server пользователя к базе данных SQL Server. Хранимая процедура sp_grantlogin позволяет добавлять пользователя, аутентифицированного в системе Windows NT/2000.

Хранимая процедура sp_addlogin имеет следующий синтаксис:

sp_addlogin  [ @loginame = ] 'имя_login-записи'
         [  ,  [ @passwd = ] 'пароль' ]
         [  ,  [ @defdb = ] 'база данных' ]
         [  ,  [ @deflanguage = ] 'язык' ]
         [  ,  [ @sid = ] 'sid' ]
         [  ,  [ @encryptopt = ] 'параметр_шифрования' ]

Используются следующие необязательные параметры.

  • пароль. Указывает пароль login-записи для SQL Server. Значение по умолчанию – NULL.
  • база данных. Указывает базу данных по умолчанию для login-записи. Значение по умолчанию – master.
  • язык. Указывает язык по умолчанию для login-записи. Значение по умолчанию – текущий язык для SQL Server.
  • sid. Указывает идентификатор безопасности (SID), который является уникальным идентификационным номером. Если вы не указываете какое-либо значение, то он генерируется для вас системой. Параметр sid обычно не генерируется пользователями, но администраторы используют sid в ряде ситуаций. Когда DBA выполняет задачи поиска и устранения проблем, sid может потребоваться, чтобы определить проверяемую login-запись. Параметр sid является внутренним идентификатором для login-записи.
  • параметр_шифрования.Указывает, будет ли шифроваться пароль в системных таблицах. Значение по умолчанию – NULL, означающее, что пароль будет шифроваться. Значение skip_encryption (пропустить шифрование) означает, что пароль не будет шифроваться. Если указать значение skip_encryption_old, то пароль, зашифрованный в более ранней версии SQL Server, не будет шифроваться еще раз. Вам следует изменять значение по умолчанию, только если вы хотите избежать шифрования пароля в системных таблицах.

Ниже приводится простой пример добавления login-записи:

EXEC sp_addlogin 'PatB'

Не забудьте использовать ключевое слово EXEC перед именем хранимой процедуры.

Ниже приводится более сложный пример добавления login-записи:

sp_addlogin 'SharonR', 'mypassword', 'Northwind', 'us_english'

Эта команда создает пользователя с именем SharonR и паролем "mypassword." По умолчанию будет использоваться база данных Northwind, и язык по умолчанию – U.S. English. В обычном случае вы должны предоставить создание идентификатора безопасности (SID) SQL Server вместо самостоятельного создания этого идентификатора.

Хранимая процедура sp_grantlogin имеет следующий синтаксис:

sp_grantlogin 'имя_login-записи'

Ниже показан пример использования хранимой процедуры sp_grantlogin:

EXEC sp_grantlogin 'MOUNTAIN_DEW\DickB'

"DickB" – имя учетной записи Windows NT или Windows 2000, "MOUNTAIN_DEW" – имя системы.

Добавив эти login-записи, вы можете просматривать их в Enterprise Manager. Для этого щелкните на папке Logins в левой панели.

Использование мастера Create Login Wizard

Чтобы создать login-запись для SQL Server с помощью мастера Create Login Wizard, выполните следующие шаги.

  1. В окне Enterprise Manager раскройте группу серверов и щелкните на имени сервера. В меню Tools выберите пункт Wizards (Мастера). В появившемся диалоговом окне Select Wizard (Выбор мастера) раскройте папку Database, щелкните на Create Login Wizard (рис. 34.5) и затем щелкните на кнопке OK. Появится начальное окно мастера Create Login Wizard (рис. 34.6).
  2. Щелкните на кнопке Next (Далее), чтобы появилось окно Select Authentication Mode for This Login (Выбор режима аутентификации для данной login-записи) (рис. 34.7). В этом окне вы указываете, какой режим аутентификации будет использоваться, – аутентификация Windows (первая кнопка выбора) или аутентификация в SQL Server (Смешанный режим).
    Окно Select Wizard

    Рис. 34.5. Окно Select Wizard
    Начальное окно мастера Create Login Wizard

    Рис. 34.6. Начальное окно мастера Create Login Wizard
  3. Щелкните на кнопке Next, чтобы появилось окно Authentication with Windows NT (Аутентификация с помощью Windows) или Authentication With SQL Server (Аутентификация с помощью SQL Server), – в зависимости от режима аутентификации, выбранного вами на шаге 2. На рис. 34.8 показан второй вариант. В этом окне вы задаете Login ID (идентификатор login-записи) и пароль. Если у вас выбран вариант Windows NT Authentication, то вам нужно ввести имя в домене и имя пользовательской учетной записи для аутентификации.
     Окно Select Authentication Mode for This Login (Выбор режима аутентификации для данной login-записи)

    Рис. 34.7. Окно Select Authentication Mode for This Login (Выбор режима аутентификации для данной login-записи)
    Окно Authentication with SQL Server (Аутентификация с помощью Windows)

    Рис. 34.8. Окно Authentication with SQL Server (Аутентификация с помощью Windows)
  4. Щелкните на кнопке Next, чтобы появилось окно Grant Access to Security Roles (Предоставление доступа ролям безопасности) (рис. 34.9). В этом окне вы можете выбрать роли базы данных, которые будут присвоены данной login-записи.
  5. Щелкните на кнопке Next, чтобы появилось окно Grant Access to Databases (Предоставление доступа к базам данных) (рис. 34.10). В этом окне вы можете выбрать базы данных, к которым будет иметь доступ эта login-запись.
  6. Щелкните на кнопке Next, чтобы появилось окно Completing the Create Login Wizard (Завершение работы мастера) (рис. 34.11), где вы можете увидеть в текстовом поле сводку информации. Для внесения каких-либо изменений щелкните на кнопке Back (Назад) или щелкните на кнопке Finish (Готово), чтобы создать login-запись.
     Окно Grant Access to Security Roles (Предоставление доступа ролям безопасности)

    Рис. 34.9. Окно Grant Access to Security Roles (Предоставление доступа ролям безопасности)
    Окно Grant Access to Databases (Предоставление доступа к базам данных)

    Рис. 34.10. Окно Grant Access to Databases (Предоставление доступа к базам данных)
    Окно Completing the Create Login Wizard (Завершение работы мастера)

    Рис. 34.11. Окно Completing the Create Login Wizard (Завершение работы мастера)