我已经编写了一些调用web服务的CLR表值函数,我想对它们的使用进行审计。有谁知道在CLR代码中可以实现这一点的任何方法吗?我希望将审计代码与CLR代码放在一起,而不是每次使用时都要编写一个显式的INSERT语句。
发布于 2016-09-12 12:06:26
由于TVF调用了Web,所以必须将程序集标记为WITH PERMISSION_SET = EXTERNAL_ACCESS (希望您选择签署程序集,创建非对称密钥,并从该键创建登录,而不是为数据库设置TRUSTWORTHY ON )。这个事实给了你两个选择:
SqlConnection并发出INSERT语句登录到表。确保在连接字符串中指定enlist=false;,这样它就不会试图绑定到当前事务。这将允许插入(发生在单独的连接/会话中),无论SQLCLR中是否有异常(当然,除非错误与INSERT操作有关;-)。https://dba.stackexchange.com/questions/149393
复制相似问题