c# - 安装 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”的角色,但这没有用。我暂时为用户禁用了这些角色。
解决方案
在您的脚本中添加以下内容
USE master;
GRANT CREATE ANY DATABASE TO <LoginName>;
GRANT CREATE TABLE TO <LoginName>;
推荐阅读
- c++ - 跟踪 std::map 中的订单元素
- php - Mpdf 在 Firefox 上工作,但无法在 chrome 上加载
- mongodb - 如何过滤mongodb中的多个元素?
- javascript - 我正在使用 Javascript Plugin Imagenote js 将 pin 放在图像上它工作正常但 pin 改变了它在 zoomin 上的确切位置
- android - 更新有时在 sqlite 表中不起作用
- java - Spring Hateoas 忽略查询参数
- node.js - Google OAuth Nodejs 使用护照、passport-google-oauth20 处理错误
- android - 带有转义美元符号的 Kotlin 传递字符串
- vb.net - Visual Basic:如何创建子重置按钮
- ios - 未调用 CXProviderDelegate 方法