首页 > 解决方案 > 安装 MSI 时,CREATE DATABASE 权限被拒绝

问题描述

我创建了一个安装程序的 MSI 文件。作为安装过程的一部分,我需要在 Windows 10 Enterprise 上使用 SQL Server 2016 Express 创建一个本地数据库。当我运行 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 或我的代码本身中更改设置吗?

谷歌搜索这个问题告诉我,我需要为用户登录提供“sysadmin”和“dbcreator”的角色,但这没有用。我暂时为用户禁用了这些角色。

标签: c#sqlwindows-10windows-installersql-server-2016-express

解决方案


在您的脚本中添加以下内容

USE master;
GRANT CREATE ANY DATABASE TO <LoginName>;
GRANT CREATE TABLE TO <LoginName>;

推荐阅读