【问题标题】:How to block certain SQL queries to be executed on the SQL Server 2008如何阻止某些 SQL 查询在 SQL Server 2008 上执行
【发布时间】:2011-04-28 08:52:47
【问题描述】:

我在 SQL Server 2008 R2 标准版中有一个数据库。

我想直接在服务器本身上阻止某些查询。所以无论用户执行什么,我都想阻止它并只返回一个指定的结果。

例如:如果用户正在执行来自应用程序或管理工作室之类的查询。 "从成员中选择 *"

现在在 SQL Server 上,一旦收到此查询,它就不应该执行它并返回带有 0 条记录的输出。

这是一个非常特定于应用程序的要求,我无法控制应用程序代码,否则我会在应用程序级别本身更改它。

请帮忙

【问题讨论】:

  • 您希望允许对成员进行 SELECT 查询,但前提是查询包含 WHERE 子句?

标签: sql-server sql-server-2008-r2


【解决方案1】:

您不能以您描述的方式阻止查询。你需要一个instead of select 触发器。这些是不存在的。

您或许可以将表重命名为 members,然后创建一个名为 members 的视图?

【讨论】:

    【解决方案2】:

    这是您要阻止的查询吗?还是您试图阻止对某些表的 SELECT 访问?

    拒绝选择公开的成员;

    将阻止人们阅读 [members] 表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多