【发布时间】:2011-12-17 20:10:29
【问题描述】:
非常简短的背景: 我们正在利用 CLR 存储过程通过 Active Directory 对查询结果应用访问控制,以相应地限制最终用户可以看到的内容。简而言之,这是通过从数据表中删除用户不满足访问结果(在本例中为文档)的标准的行来完成的。
此过滤之前已在客户端上完成,然后才显示结果。 SQL 2008 和更强大的服务器是将此访问过滤从客户端移除的动机。
我想知道的是,从等效的 CLR 存储过程调用原始常规 T-SQL 存储过程,而不是将“内联”T-SQL 传递到命令对象(其中在这种情况下,只是原来的 T-SQL 是一个存储过程)?我找不到有人提到这一点的任何地方(部分原因可能是因为它作为 CLR SP 的示例会非常令人困惑,我猜 :-))。 在我看来,您可能会因为 T-SQL 存储过程已经被优化和编译?
有人可以帮我确认吗?
希望我已经足够清楚了。非常感谢,
科尔姆。
【问题讨论】:
标签: sql-server-2008 stored-procedures clrstoredprocedure