Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:post-installation-checks-for-sql-server-system-privileges

После-установочные проверки системных привилегий SQL Server

Инсталлятор SQL Server 2016 в ходе установки экземпляра настраивает на операционной системе сервер ряд параметров, в том числе и параметры безопасности, для учётных записей, от имени которых будут работать службы SQL Server. Однако несмотря на то, что в ходе установки в качестве учётных записей служб нами могут быть заданы определённые сервисные учётные записи (user/MSA/gMSA), они в явном виде могут не получить нужных привилегий в ОС. Вместо этого инсталлятор SQL Server выдаёт соответствующие привилегии используемым по умолчанию виртуальным учётным записям (Virtual Account) вида NT Service\MSSQL&<имя экземпляра>, NT Service\SQLAgent&<имя экземпляра> и т.п.. По сути своей разрешения, выданные сервисным учётным записям (user/MSA/gMSA) и выданные виртуальным учётным записям, которые автоматически создаёт инсталлятор SQL Server, тождественны. Прочитать об этом можно в обсуждении Раздача прав сервисным учётным записям при установке SQL Server 2016

Получить информацию о привилегиях, которые должны быть выданы сервисным учётным записям для каждого типа службы SQL Server можно в документе Microsoft Docs - SQL Server : Configure Windows Service Accounts and Permissions

После установки SQL Server нам желательно, как минимум, проверить в консоли Local Security Policy (secpol.msc) в разделе Local Policies > User Rights Assignment следующие назначения прав для учётных записей, от имени которых запускаются службы экземпляра SQL Server Database Engine и SQL Server Agent:

  • Bypass traverse checking
  • Adjust memory quotas for a process
  • Replace a process level token
  • Log on as a service


Проверка права Database Instant File Initialization

Необходимо убедиться в том, что выданное нами ранее право мгновенной инициализации файлов (Database instant file initialization), действительно работает. Для этого в консоли SQL Server Management Studio проверим SQL Server error log. При перезапуске службы экзепляра SQL Server в логе должно фигурировать информационное событие вида:

Database Instant File Initialization: enabled. For security and performance considerations see the topic 'Database Instant File Initialization' in SQL Server Books Online. This is an informational message only. No user action is required.

Попробуем для проверки в консоли SQL Server Management Studio временно создать новую базу данных с размером файла данных, например, 10GB и журнал транзакций размером в 1 MB. Если база создалась моментально, то все работает корректно. Если база создаётся длительное время, значит c механизмом Database instant file initialization какие-то проблемы.

Дополнительный метод проверки с включением трассировки SQL Server можно подсмотреть в статье SQL Server best practice: grant permissions to per-service SID


Проверка доступа учётной записи службы SQL Agent к экземпляру SQL Server

Учётная запись от имени которой выполняется служба SQL Server Agent должна иметь полный доступ к экземпляру SQL Server, так как это потребуется в дальнейшем при настройке регламентных процедур обслуживания. Подтверждение требования такого рода можно найти в документе Select an Account for the SQL Server Agent Service

Разрешения такого рода для сервисной учётной записи вида NT SERVICE\SQLAgent$<ИмяЭкземпляра> должны появиться на уровне экземпляра автоматически. Мы можем это перепроверить, заглянув в консоли SQL Server Management Studio в список логинов экземпляра SQL Server.


Проверено на следующих конфигурациях:

Версия ОС Версия SQL Server
Microsoft Windows Server 2012 R2 Standard EN (6.3.9600) Microsoft SQL Server 2016 SP2 CU4 (13.0.5233.0)

Автор первичной редакции:
Алексей Максимов
Время публикации: 12.02.2019 16:15

Обсуждение

Ваш комментарий:
 
1c/setting-up-microsoft-sql-server-for-1c-enterprise-8-3/post-installation-checks-for-sql-server-system-privileges.txt · Последнее изменение: 17.04.2019 13:53 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki