gpt4 book ai didi

sql-server - NLog 数据库目标和 SQL Server 应用程序角色

转载 作者:搜寻专家 更新时间:2023-10-30 20:41:28 25 4
gpt4 key购买 nike

我们正在用现有应用程序中的 NLog 替换自定义日志记录“框架”。问题是应用程序使用 SQL Server 应用程序角色,这意味着每次它打开到 SQL Server 的连接时,它都会执行 sp_setapprole 存储过程。

我们已经尝试在数据库目标配置中模拟这种行为:

<commandText>
exec sp_setapprole @roleName, @password; --first, set app. role
INSERT dbo.Log --etc.
</commandText>
<parameter name="@roleName" value="...">
<parameter name="@password" value="...">
-- other logging parameters follow

但是,这会产生错误:

Application roles can only be activated at the ad hoc level.

我宁愿避免编写自己的目标,因为数据库目标可以完成我需要的一切,除了设置应用程序角色。所以我希望有可能以某种方式连接到由 NLog 在内部创建的连接的 StateChange 事件,或者做一些其他的技巧。

TL;DR - 在通过 NLog 数据库目标进行日志记录时如何切换到应用程序角色?

最佳答案

我们最终基于 NLog DatabaseTarget source 的(精简版)创建了我们自己的目标和代码来自 this blog post .

See source code here .

目标的配置方式(大致)与 NLog 数据库目标相同,但具有发烧特性。

关于sql-server - NLog 数据库目标和 SQL Server 应用程序角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17791857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com