Настройка разрешений файловой системы для доступа к компоненту ядра СУБД
Применимо к: SQL Server (все поддерживаемые версии)
В этой статье описана процедура предоставления компоненту Компонент SQL Server Database Engine доступа к расположению в файловой системе, где хранятся файлы базы данных. Служба компонента Компонент Database Engine должна иметь разрешение файловой системы Windows для доступа к папке, в которой хранятся файлы базы данных. Разрешение на расположение по умолчанию задается во время установки. Если файла базы данных размещаются в другом расположении, то необходимо выполнить эти действия, чтобы предоставить компоненту Компонент Database Engine разрешение полного доступа к этому расположению.
Начиная с версии SQL Server 2012 (11.x), разрешения назначаются идентификатору безопасности каждой из служб. Эта система позволяет обеспечить изоляцию и всестороннюю защиту службы. Идентификатор безопасности службы создается на основе имени службы и является уникальным для каждой службы. В статье Настройка учетных записей и разрешений службы Windows описывается идентификатор безопасности каждой службы доступа, а имена перечисляются в разделе Права и привилегии Windows. Разрешение на доступ к расположению файла назначается именно идентификатору безопасности службы.
Предоставление разрешение на доступ к файловой системе идентификатору безопасности службы
С помощью проводника Windows перейдите в папку файловой системы, в которой находятся файлы базы данных. Правой кнопкой мыши щелкните эту папку и выберите пункт Свойства.
На вкладке Безопасность выберите Изменить, а затем ― Добавить.
В диалоговом окне Выбор пользователей, компьютеров, учетных записей служб или групп выберите Расположения, в начале списка расположений выберите имя своего компьютера и нажмите кнопку ОК.
В поле Введите имена объектов для выбора введите имя идентификатора безопасности службы. Сведения о получении идентификатора см. в статье Настройка учетных записей службы Windows и разрешений. (В качестве идентификатора безопасности службы компонента Компонент Database Engine используйте NT SERVICE\MSSQLSERVER для экземпляра по умолчанию или NT SERVICE\MSSQL$InstanceName — для именованного экземпляра.)
Нажмите Проверить имена, чтобы проверить введенные данные. Проверка зачастую выявляет ошибки, по ее окончании может появиться сообщение о том, что имя не найдено. При нажатии кнопки ОК открывается диалоговое окно Обнаружено несколько имен. Теперь выберите идентификатор безопасности службы MSSQLSERVER или NT SERVICE\MSSQL$InstanceName и нажмите кнопку ОК. Снова нажмите кнопку ОК, чтобы вернуться в диалоговое окно Разрешения.
В поле имен Группа или пользователь выберите имя идентификатора безопасности службы, а затем в поле Разрешения для <name> установите флажок Разрешить для параметра Полный доступ.
Нажмите кнопку Применить, а затем дважды нажмите кнопку ОК, чтобы выйти.