通过SQL Server Management Studio禁用对SQL Server数据库的访问

时间:2012-06-27 11:42:30

标签: sql-server ssms

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

我有一个使用SQL Server 2005数据库的桌面应用程序。应用程序在用户登录到计算机时运行(遗憾的是我们无法更改,否则这将很简单)。数据库具有组权限(但也适用于用户),以访问用户所需的相应模式和对象。用户具有(并且需要)选择,插入,更新和删除数据的能力来完成他们的过程。

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

我发现了几个类似的帖子(包括How to disable SQL Server Management Studio for a user),但这些帖子并不能解决这个问题,因为它们会限制用户访问或使用不同的登录信息。

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

1 个答案:

答案 0 :(得分:0)

对于application role来说,这似乎是个好方案。