-2

我有一个应用程序说查询生成器,它从用户那里输入 sql 查询以从表中选择一些数据

我在 sql server 中执行这个查询

现在我想阻止用户使用 DQl 命令以外的命令

是否可以在 sql server 本身中做

sql server中是否有任何命令可以判断其是否为DQL命令,然后我可以限制它

谢谢

4

1 回答 1

1

它的 sql server 查询

那将很难锁定;您可以使用 SQL Server 中的权限采取某种方式,但他们仍然很容易做非常糟糕的事情(例如,不需要很多大表的交叉连接就可以有效地使服务器脱机 - 或者他们可以打开一个可序列化的事务,从一些表中选择,而不是关闭事务)。

我强烈建议不要让用户编写 sql。给他们其他工具来做他们需要的事情。

或者,在不同的服务器上运行查询——理想情况下,您已经推送了数据的安全版本(即没有任何 PII)——它们是否支配服务器并不重要,因为它没有连接到任何重要的东西。有点像SEDE

于 2013-10-25T12:51:58.850 回答