我们有一个Windows应用程序,允许用户使用Windows身份验证连接到SQL。
问题是该应用程序的用户还在其桌面上安装了SSMS,因此他们也可以使用Windows身份验证连接到prod db。
有没有办法可以限制用户在SSMS上使用Windows身份验证访问prod db,但他们应该能够使用Windows身份验证从本地系统访问Windows应用程序?
答案 0 :(得分:0)
如果我理解你的情景:
如果是这种情况,您要在SSMS中执行的操作是撤消对所有生产数据库的数据库视图权限,除非该用户是数据库的sysadmin或所有者。在您的服务器上运行以下命令:
USE MASTER
GO
DENY VIEW ANY DATABASE TO PUBLIC
GO
运行上述语句后,除非您是系统管理员或您的登录名是数据库的所有者,否则您将无法在SSMS中看到任何数据库。
答案 1 :(得分:0)
也许您可以通过使用应用程序角色限制对数据库对象的访问... Msdn:"您可以使用应用程序角色来仅对通过特定应用程序连接的用户访问特定数据"