SQL Server не может аутентифицировать пользователя при установке шоколада ведьмы (через шеф-повара)

Я пытаюсь автоматизировать установку SQL Server 2016 Express.

У меня есть поваренная книга для установки SQL Server Express с использованием шоколадного пакета.

Та же команда, что и у ресурса шеф-повара

chocolatey_package 'sql-server-express' do
  action :install
  options '--cachelocation c:\temp\choco'
end

Эквивалентная команда PowerShell

choco install sql-server-express --cachelocation c:\temp\choco

Если я обычно устанавливаю SQL Server Express с помощью мастера установки, я могу без проблем аутентифицировать и создавать/изменять базы данных.

Если я устанавливаю SQL Server Express с Chocolatey / Chef, я не могу создавать или изменять базы данных.

Ошибка при попытке создать новую базу

Разрешение CREATE DATABASE отклонено в базе данных «мастер»

введите здесь описание изображения

Ошибка при попытке изменить существующую базу данных

Субъект сервера "Foo\Bar" не может получить доступ к базе данных "foobar" в текущем контексте безопасности.

введите здесь описание изображения

Я попытался войти в систему как пользователь «sa». смешанная аутентификация не включена, и я не могу ее включить.

Как я могу получить шоколадную установку пользователей SQL Server Express так же, как и обычную установку?


person spuder    schedule 03.10.2017    source источник


Ответы (1)


Через много дней я обнаружил проблему. Запустите Chocolatey от имени локального администратора, а не SYSTEM.

Почему:

Пакет Chocolatey не будет установлен, если команда выполняется через WinRM из-за ограничений протокола WinRM.

Обычный обходной путь — запустить шеф-повара/шоколада в запланированной задаче.

К сожалению, запланированные задачи выполняются от имени пользователя SYSTEM. В результате MSSQL разрешает только пользователю SYSTEM выполнять административные команды.

Решение состоит в том, чтобы запустить Chocolatey внутри запланированного задания как локальную системную учетную запись (не SYSTEM). Или используйте RDP для входа в систему и запускайте команду Chocolatey напрямую (не через winrm).

Пример того, как запустить тестовую кухню шеф-повара в качестве (не СИСТЕМНОГО) пользователя с повышенными правами

transport:
  name: winrm
  elevated: true
  elevated_username: vagrant
  elevated_password: vagrant
person spuder    schedule 03.10.2017