Создание пользователя и предоставление ему разрешений

Вы должны создать на сервере Microsoft SQL Server пользователя, от имени которого будет работать агент, и предоставить пользователю разрешения для мониторинга Microsoft SQL Server. Процесс предоставления разрешений такой же, как для Microsoft SQL Server 2005 или новее.

Прежде чем начать

Установите Microsoft SQL Server agent. Чтобы создать пользователя и предоставить ему необходимые разрешения, вы должны быть администратором базы данных с ролью авторизации sysdamin.

Об этой задаче

Используйте следующую процедуру, чтобы определить, есть ли у существующего пользователя SQL Server достаточно разрешений для мониторинга Microsoft SQL Server:

Проверка разрешений существующего пользователя SQL Server

WindowsЧтобы проверить, есть ли у существующего пользователя сервера SQL достаточно разрешений, связанных с базами данных SQL Server, можно запустить утилиту koqVerifyPerminssions.exe.

Об этой задаче

Если у пользователя есть роль sysadmin или минимальные необходимые разрешения, утилита koqVerifyPerminssions.exe возвратит сообщение PASS. Результат подробной проверки записывается в журнал koqVerifyPermissions_log.
Ниже приведен список минимальных разрешений:
  • Разрешения для сервера должны включать в себя Просмотр состояния сервера, Просмотр любой базы данных и Просмотр любого определения.

    Эти разрешения уровня сервера обязательны.

  • Для всех системных баз данных и определенных пользователями баз данных для мониторинга членство в роли базы данных должно включать public и db_owner.
    Разрешение db_owner требуется, чтобы собирать данные для следующих наборов данных:
    • Набор данных сведений о сервере
    • Набор данных сведений о базе данных
    • Набор данных зеркальных отображений базы данных
    • Набор данных сводки сервера
    • Набор данных сводки заданий
  • В случае базы данных msdb членство в роли базы данных должно включать db_datareader, SQLAgentReaderRole и SQLAgentUserRole. Эти разрешения требуются для набора данных Подробности задания.

Процедура

  1. Откройте командную строку и измените каталог утилиты ниже.
    • В случае 64-битных агентов каталог_установки_агента\TMAITM6_x64
    • В случае 32-битных агентов каталог_установки_агента \TMAITM6
    где каталог_установки_агента - это каталог установки агента.
  2. Выполните koqVerifyPerminssions.exe, предоставив следующие параметры:
    koqVerifyPermissions.exe -S имя_экземпляра -U имя_пользователя -P пароль
    Где:
    • Имя_экземпляра - это имя экземпляра SQL Server.
    • Имя_пользователя - это имя пользователя, которое проверяется инструментом утилиты.
    • Пароль - это пароль пользователя. Этот параметр требуется, если предоставлено имя_пользователя.
    Прим.: Если имя_пользователя и пароль не предоставлены, то по умолчанию будет использоваться пользователь, вошедший в систему. Пример: NT AUTHORITY\SYSTEM.

Результаты

Результат подробной проверки доступен в koqVerifyPermissions_log в следующем каталоге:
  • В случае 64-битных агентов каталог_установки_агента\TMAITM6_x64\logs
  • В случае 32-битных агентов каталог_установки_агента \TMAITM6\logs
Где каталог_установки_агента - это каталог установки агента.

Создание ID пользователя SQL Server с аутентификацией Windows

WindowsСоздайте нового пользователя с аутентификацией Windows и назначьте пользователю необходимые роли и разрешения.

Процедура

Чтобы создать пользователя, сделайте следующее:

  1. В SQL Server Management Studio откройте Проводник по объектам.
  2. Щелкните по имя_экземпляра_сервера > Безопасность > Имена для входа в систему.
  3. Щелкните правой кнопкой мыши по Входы и выберите Создать вход.
  4. На странице Общие введите имя пользователя Windows в поле Имя для входа в систему.
  5. Выберите Аутентификация Windows.
  6. В зависимости от роли и разрешений, которые вы хотите назначить для этого пользователя, выполните одну из следующих задач:
    Важное замечание: По умолчанию роль public назначается для нового ID для входа в систему.
  7. Нажмите кнопку ОК.

Результаты

Пользователь создается с ролью public по умолчанию и разрешениями, которые вы назначили, и появляется в списке Имена для входа в систему.

Создание ID пользователя SQL Server с аутентификацией SQL Server

LinuxWindowsСоздайте нового пользователя с аутентификацией SQL Server и назначьте пользователю необходимые роли и разрешения.

Процедура

Чтобы создать пользователя, сделайте следующее:

  1. В SQL Server Management Studio откройте Проводник по объектам.
  2. Щелкните по имя_экземпляра_сервера > Безопасность > Имена для входа в систему.
  3. Щелкните правой кнопкой мыши по Входы и выберите Создать вход.
  4. На странице Общие введите имя нового пользователя в поле Имя для входа в систему.
  5. Выберите Аутентификация SQL Server.
  6. В поле Пароль введите пароль для пользователя.
  7. В поле Подтвердить пароль повторно введите пароль, уже введенный в поле Пароль.
  8. В зависимости от роли и разрешений, которые вы хотите назначить для этого пользователя, выполните одну из следующих задач:
    Важное замечание: По умолчанию роль public назначается для нового ID для входа в систему.
  9. Нажмите кнопку ОК.

Результаты

Пользователь создается с ролью public по умолчанию и разрешениями, которые вы назначили, и появляется в списке Имена для входа в систему.

Предоставление минимальных разрешений для сбора данных

WindowsКроме роли по умолчанию public, можно назначить роль sysadmin пользователю или дать минимальные разрешения пользователю так, чтобы агент мог собирать данные для наборов данных.

Об этой задаче

Можно дать разрешения через пользовательский интерфейс или инструмент утилиты permissions.cmd.

Процедура

  • Чтобы предоставить пользователю минимум разрешений через пользовательский интерфейс, сделайте следующее:
    1. Откройте страницу Роли сервера и убедитесь, что переключатель public выбран.
    2. Откройте страницу Отображение пользователей и включите следующие переключатели для всех системных баз данных и заданных пользователем баз данных, мониторинг которых вы хотите производить.
      • public
      • db_owner
      Для базы данных msdb включите следующие дополнительные переключатели:
      • db_datareader
      • SQLAgentReaderRole
      • SQLAgentUserRole
    3. Откройте страницу Защищенные и включите следующие переключатели для экземпляра сервера, мониторинг которого вы производите:
      • просмотр базы данных
      • просмотр определения
      • просмотр состояния сервера
  • Чтобы предоставить пользователю минимум разрешений с помощью инструмента permissions.cmd, сделайте следующее:
    1. Запустите Windows Explorer и перейдите в каталог инструмента утилиты Agent_grant_perm_dir:
      • В случае 64-битного агента Agent_grant_perm_dir - это каталог_установки_агента\TMAITM6_x64\scripts\KOQ\GrantPermission.
      • В случае 32-битного агента Agent_grant_perm_dir - это каталог_установки_агента\TMAITM6\scripts\KOQ\GrantPermission.
      • каталог_установки_агента - это каталог установки агента.
      Внимание: Инструмент утилиты permissions.cmd предоставляет db_owner на всех базах данных по умолчанию. Чтобы исключить определенные базы данных, надо включить имена баз данных в файл Agent_grant_perm_dir\exclude_database.txt. Имена баз данных должны быть разделены символом алиаса @.
      Совет: Например, если вы хотите исключить базы данных MyDatabase1 и MyDatabase2, то включите следующую запись в файл exclude_database.txt:
      MyDatabase1@MyDatabase2
    2. Дважды щелкните по permissions.cmd, чтобы запустить инструмент утилиты.
    3. По запросу введите намеченные значения параметров:
      Табл. 1. Параметры
      Параметры Описание
      Имя SQL Server или имя экземпляра SQL Server Введите имя SQL Server для сервера назначения или имя для экземпляра назначения SQL Server, разрешения на доступ к которому вы хотите предоставить пользователю.
      Имя входа существующего пользователя SQL Server Введите имя пользователя, для которого нужно изменить разрешения.
      Опции разрешений:

      1 Предоставить разрешение db_owner.

      2 Предоставить разрешения db_datareader, SQLAgentReaderRole и SQLAgentUserRole

      3 Предоставить все необходимые разрешения

      Введите 1 или 2 или 3 согласно вашему требованию.
      Пользователь, которому даются разрешения:

      1 Пользователь, который сейчас вошел в систему

      2 Другой пользователь

      Введите 1 или 2.

      Если выбрано 2, то по запросу введите имя целевого пользователя.

      Прим.: У пользователей должен быть доступ, чтобы дать разрешения другим пользователям.

Дальнейшие действия

Сконфигурируйте агент.

Предоставление разрешения на доступ к ключу реестра Perflib, чтобы можно было собирать данные для нескольких наборов данных

WindowsЧтобы собрать данные для нескольких наборов данных, нужно предоставить пользователям доступ с правом чтения ключа реестра Perflib.

Об этой задаче

Это разрешение нужно предоставить пользователю Windows, от имени которого конфигурируются службы агентов. Есть много наборов данных, на которые влияет отсутствие разрешения Perflib, например, сведения о базе данных MS SQL, Менеджер памяти MS SQL, Сводка для титпа ресурсов блокировки MS SQL, Сводка заданий MS SQL, Сводка транзакций сервера MS SQL, Сводка сервера MS SQL и т.п.

Процедура

Чтобы предоставить разрешение на доступ к ключу реестра Perflib, выполните следующие шаги:

  1. Чтобы открыть редактор реестра, щелкните по Запустить > Выполнить > Regedit.exe и нажмите клавишу ввода (Enter).
  2. Перейдите в ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib.
  3. Щелкните правой кнопкой мыши по ключу Perflib и щелкните по Разрешения.
  4. Щелкните по Добавить, введите имя пользователя Windows, от имени которого был установлен и сконфигурирован агент, и нажмите кнопку OK.
  5. Щелкните по пользователю, которого вы добавили.
  6. Разрешите пользователю доступ с правом чтения, включив соответствующий переключатель.
  7. Нажмите кнопку Применить, а затем OK.