【问题标题】:When installing an MSI, CREATE DATABASE permission denied安装 MSI 时,CREATE DATABASE 权限被拒绝
【发布时间】:2019-08-21 15:04:18
【问题描述】:

我创建了一个安装程序的 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”的角色,但这没有奏效。我暂时为用户禁用了这些角色。

【问题讨论】:

  • 您是否以管理员身份运行 MSI?
  • 您要使用 Windows 凭据还是用户名和密码?安装过程使用的是什么帐号(和环境变量)。
  • @jdweng 用户名和密码。 “什么帐户”和“环境变量”是什么意思?
  • @EdneyHolder 以管理员身份运行并没有什么不同,遗憾的是。
  • 您在运行 MSI 时使用的是什么帐户。用户或管理员?如果您作为计划任务运行,它可能使用未设置任何环境变量的 Sys 帐户运行。

标签: c# sql windows-10 windows-installer sql-server-2016-express


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 2014-04-30
    • 2020-08-27
    • 2015-10-13
    相关资源
    最近更新 更多