При установке MSI отказано в разрешении CREATE DATABASE

Я создал файл MSI, который устанавливает программу. В процессе установки мне нужно создать локальную базу данных с помощью SQL Server 2016 Express в Windows 10 Enterprise. Когда я запускаю MSI, возникает следующая ошибка:

CREATE DATABASE permission denied in database 'master'.
SQL error number = 262 ==> SQL server = (local)\MYCOMPUTER --> SQL state = 1 --> Error code = -2146232060 --> SQL Error: System.Data.SqlClient.SqlError: CREATE DATABASE permission denied in database 'master'.

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

Поиск в Google этого вопроса подсказал мне, что мне нужно дать пользователю логин в роли «sysadmin» и «dbcreator», но это не сработало. Я пока отключил эти роли для пользователя.


person Ben    schedule 21.08.2019    source источник
comment
Вы запускаете MSI от имени администратора?   -  person Edney Holder    schedule 21.08.2019
comment
Вы хотите использовать учетные данные Windows или имя пользователя и пароль? Какая учетная запись используется в процессе установки (и переменные среды).   -  person jdweng    schedule 21.08.2019
comment
@jdweng Имя пользователя и пароль. Что вы имеете в виду под какими учетными записями и переменными окружения?   -  person Ben    schedule 21.08.2019
comment
@EdneyHolder К сожалению, запуск от имени администратора ничего не изменил.   -  person Ben    schedule 21.08.2019
comment
Какую учетную запись вы использовали при запуске MSI. Пользователь или администратор? Если вы запускали запланированную задачу, она могла быть запущена с учетной записью Sys, для которой не установлены какие-либо переменные среды.   -  person jdweng    schedule 21.08.2019


Ответы (1)


В вашем скрипте добавьте следующее

USE master;
GRANT CREATE ANY DATABASE TO <LoginName>;
GRANT CREATE TABLE TO <LoginName>;
person Edney Holder    schedule 21.08.2019