集成安全 SSPI - Select 对象的权限被拒绝

Integrated Security SSPI - The Select Permission was denied on the object

当 3 个用户中的 2 个用户尝试 运行 宏启用 Excel 从 Excel 2013 和 2016 查询 MSSQL 2014 的工作簿时,我收到此错误。我认为自从该代码设置了 "integrated security = SSPI",每个用户都将拥有相同的访问权限。我不想向单个用户授予访问权限,因为这是一个包含 VBA 宏的工作簿,将在全部门范围内使用。

我做错了什么?如何强制代码使用中央用户?

指定 integrated security = SSPI 意味着您将在每个用户的基础上管理数据库中的权限(理想情况下是通过角色而不是直接向用户分配权限,这确实使事情变得更容易但仍然需要更多工作如果您不知道谁会随时使用您的文件)。

如果你想使用专用用户(如果从 Excel 连接,最好是只读用户,并且可能只在必要的表上只读)你可以使用 connection string 格式

Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;

这意味着您将随 Excel 文件一起分发密码。或许你同意,或许不同意。