【问题标题】:Integrated Security SSPI - The Select Permission was denied on the object集成安全 SSPI - 对象的选择权限被拒绝
【发布时间】:2018-02-01 21:55:27
【问题描述】:
我在 3 个用户中的 2 个尝试运行宏启用 Excel 工作簿时收到此错误,该工作簿从 Excel 2013 和 2016 查询 MSSQL 2014。我认为由于代码设置了“集成安全性 = SSPI”,因此每个用户将具有相同的访问权限。我不想授予单个用户访问权限,因为这是一个包含 VBA 宏的工作簿,将在部门范围内使用。
我做错了什么?如何强制代码使用中心用户?
【问题讨论】:
标签:
sql-server
excel
vba
sspi
【解决方案1】:
指定integrated security = SSPI 意味着您将在每个用户的基础上管理数据库中的权限(理想情况下,通过角色而不是直接将权限分配给用户,这确实使事情变得更容易,但如果您不这样做,工作量也会增加。不知道谁将随时使用您的文件)。
如果您想使用专用用户(如果从 Excel 连接,最好是只读用户,并且可能只在必要的表上只读)您可以使用connection string 格式
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
这意味着您将随 Excel 文件分发密码。也许你可以接受,也许不行。