假设User1可以同时访问Db1和Db2。
其中DB1和Db2驻留在同一SQL Server计算机中。
现在,使用以下语法,该用户可以访问其他数据库中的表:
SELECT *
FROM [database].[schema].[table]我有一个安全需求,我正在研究它应该限制跨数据库查询。
用户将有权访问这两个数据库,只是我需要一种方法来限制在不同的服务器上执行查询。
发布于 2014-04-23 23:18:20
您不能限制在所有涉及的数据库中具有适当权限的用户进行跨数据库查询。
发布于 2014-04-23 23:41:57
你所要求的是不可能的。
但是,作为一般规则,您最好拒绝select from tables,而只允许select from视图和执行存储过程。通过这种方式,您可以控制谁可以在哪个上下文中执行什么操作,并在尝试执行其他操作时优雅地失败。
https://stackoverflow.com/questions/23248472
复制相似问题