1

提前为长篇道歉,我试图尽可能清楚。有没有办法禁用通过 SQL Server Management Studio (SSMS) 访问数据库的用户/Windows AD 组?

我有一个使用 SQL Server 2005 数据库的桌面应用程序。应用程序在用户登录机器时运行(不幸的是,我们无法更改,否则这会很简单)。数据库获得组的许可(但它也适用于用户),以授予对用户需要的适当模式和对象的访问权限。用户有(并且需要)选择、插入、更新和删除数据以完成他们的过程的能力。

该应用程序对用户输入执行一系列验证和审计步骤,以确保他们输入了正确的数据(以及一些额外的业务处理)。用户可以打开 SSMS 并通过查询编辑器进行这些更改,从而完全避免应用程序,这是我们试图避免的。我正在寻找的是一种阻止用户通过提供的应用程序以外的任何工具更新数据库的方法。

我发现了一些类似的帖子(包括How to disable SQL Server Management Studio for a user),但这些帖子并没有完全涵盖这个问题,因为它们致力于限制用户访问或使用不同的登录名。

目前我能想到的唯一解决方案是拥有一组表,其中用户数据最初进入,然后另一个进程选择它,运行应用程序进程,然后将数据放入主/源表中。然后我可以限制用户访问主表。

4

1 回答 1

0

对于应用程序角色来说,这似乎是一个很好的场景。

于 2012-06-27T16:07:45.127 回答