Мой вопрос: если вы создаете новую учетную запись пользователя домена для каждого из процессов SQL Server, какие разрешения должны быть установлены для каждой учетной записи? Или менеджер конфигурации SQL на самом деле позаботится об этом, и у меня возникла непредвиденная проблема?
Мне довольно часто приходится настраивать Microsoft SQL Server, и я спрашиваю себя, может ли кто-нибудь дать совет по настройке учетных записей, с которыми должны работать службы. ИМО, это было смутно задокументировано Microsoft, хотя они указывают вам правильное направление, мне никогда не удавалось найти какие-либо конкретные примеры.
Подводя итог, что я видел до сих пор:
Для простых развертываний \ сред разработки можно использовать виртуальную учетную запись по умолчанию, которую использует установщик: например, NT SERVICE\MSSQLSERVER
Избегайте использования SYSTEM
учетной записи, это не безопасно.
Для производственных и доменных сред рекомендуется использовать либо управляемую учетную запись службы, либо создать учетную запись пользователя домена (не администратора) для каждой службы. Предположительно, если вы используете учетную запись домена во время установки, установщик установит для вас все необходимые разрешения.
При изменении учетной записи службы в существующей установке с виртуальной учетной записи на учетную запись домена рекомендуется использовать диспетчер конфигурации SQL Server для установки новых учетных записей службы. Предположительно, это установит для вас все необходимые разрешения.
Я только что попытался изменить учетную запись службы в существующей установке на учетную запись домена, и это дало бы мне ошибку входа в систему до тех пор, пока я не предоставлю log on as service
разрешение учетной записи , что противоречит той части, где диспетчер конфигурации SQL Server установит все необходимые разрешения. (Хотя я не уверен, что GPO мог помешать установке этой локальной политики безопасности)
Microsoft предоставляет список разрешений, которые программа установки SQL Server предоставляет на этой странице .
Но мне неясно, нужно ли это делать вручную для пользователя, которого я создаю для запуска службы, или нужно ли с помощью диспетчера конфигурации SQL автоматически устанавливать эти разрешения.
SQL Server 2014, контроллер домена находится на Windows Server 2008 R2.
Ответы:
На самом деле это довольно тщательно документировано: http://msdn.microsoft.com/en-us/library/ms143504.aspx
Есть ли какая-то часть, в которой вы не уверены?
Это будет зависеть от окружающей среды. Лично я ненавижу находить сервер, настроенный с использованием локальной учетной записи, и просить получить доступ к сетевым ресурсам в будущем, среди прочих вопросов.
Опять же, зависит, но в целом я бы согласился (контрпримером были бы группы доступности, в которых имеет смысл использовать одну учетную запись домена во всех случаях).
Если нет сбоя и т. Д., Это будет сделано. Я не уверен, почему "якобы" часть.
При изменении любой службы для SQL Server всегда используйте SSCM. Всегда. Период. Это установит права доступа для новой учетной записи к основам. Если бы до того, как использовалась локальная системная учетная запись и было получено неограниченное разрешение на все в системе, я бы ожидал, что что-то не получит разрешения после изменения из-за более жесткого контроля безопасности. Это не ошибка SQL Server SSCM, а ошибка администратора в том, что он не предоставил надлежащие разрешения EXTRA (например, доступ к сетевому ресурсу, папкам с ограниченным доступом, элементам вне области установки SQL Server и т. Д.)
Похоже, что объект групповой политики вызывает проблемы (IMHO). Не будет в первый раз :)
Я бы явно установил любые разрешения, помимо тех, которые указаны в указанной выше ссылке msdn (также предоставленной @joeqwerty и в вашем OP). Например, в папке «backup» на общем сетевом ресурсе добавлен новый диск для хранения новых баз данных (где установка уже была запущена, но диск не существует) и т. Д.
Если с сервером что-то не сломано, их не нужно вводить вручную.
источник