Безопасность Database Engine может быть установлена либо с использованием операторов Transact-SQL, либо при помощи системных процедур. В этом разделе описываются только операторы Transact-SQL, потому что все соответствующие системные процедуры (sp_addlogin и sp_droplogin) являются нерекомендуемыми средствами и будут удалены в одной из следующих версий SQL Server. Применяются три оператора Transact-SQL: create login, alter login И drop login.
Оператор create login создает новую учетную запись в SQL Server. Синтаксис оператора:
create login login_name { with option_listl I from {windows [ with option_list2 [, ...] ] i certificate certname | asymmetric key key_name }}
Здесь iogin_name задает имя создаваемой учетной записи. Как видно из синтаксиса этого оператора, вы можете использовать предложение with для задания одной или более опций для учетной записи или использовать предложение from для определения сертификата, асимметричного ключа или учетной записи пользователя Windows, связанных с соответствующей учетной записью.
option_iistl содержит некоторые опции. Наиболее важной из них является опция password, которая задает пароль для учетной записи (пример 12.3). (Другими допустимыми опциями являются de fau lt_databas е, default_ language и check_expiration.)
Как вы можете видеть из синтаксиса оператора create login, предложение from содержит одну из следующих опций:
♦ опция windows указывает, что учетная запись будет отображаться в существующем списке учетных записей Windows (пример 12.4). Это предложение может быть задано вместе с другими вложенными опциями, такими, как default_database и default_language;
♦ опция certificate задает имя сертификата, который должен быть связан с этой учетной записью;
♦ опция asymmetric key задает имя асимметричного ключа, который должен быть связан с этой учетной записью. Сертификат так же, как и асимметричный ключ, должен уже существовать в базе данных master.
В следующих примерах показано создание различных форм учетных записей. В примере 12.3 создается учетная запись с именем тагу и паролем youlknow it.
В примере 12.4 создается учетная запись с именем pete, которая будет отображаться в списке учетных записей пользователей Windows с тем же именем.
Вторым оператором безопасности, поддерживаемым Transact-SQL, является alter login, который изменяет свойства отдельной учетной записи. Используя оператор alter login, вы можете изменить текущий пароль и срок истечения его действия, полномочия, базу данных по умолчанию и язык по умолчанию. Вы также можете сделать доступным или недоступным указанную учетную запись.
Наконец, оператор drop login удаляет существующую учетную запись. Учетная запись не может быть удалена, если она ссылается на другие объекты (владеет другими объектами).