RING_BUFFER_CONNECTIVITY-LoginTimers-在MSSQL中释放未使用的数据库连接时出现错误17830日志

时间:2019-01-17 06:24:06

标签: sql-server oledb

我有使用QLOLEDB(也尝试使用MSOLEDBSQL)连接到本地SQL Server Express 2014(版本12.0.2)的程序。该程序始终创建2个连接,一个用于IDBCreateCommand,一个用于iOpenRowset,用于快速加载。该程序运行良好,但是当我尝试释放数据库连接时,它将继续在sys.dm_os_ring_buffers中创建RING_BUFFER_CONNECTIVITY LoginTimers日志。在SQL Server日志中未创建错误。

使用SQL事件探查器,我知道RING_BUFFER_CONNECTIVITY的日志记录是在数据库连接的审计注销期间发生的,尽管我有2个连接,但是只有其中一个正在创建RING_BUFFER_CONNECTIVITY日志,并且仅在释放不使用的连接时才会发生(与使用IDBCreateCommand或iOpenRowset无关)。释放连接时,使用连接运行SQL查询不会记录RING_BUFFER_CONNECTIVITY。

在MS SQL Server 2016 Express(版本13.0.4001)中也发生了此问题,但在MS SQL Server 2012 Express(版本11.0.5058)中没有发生,我真的对导致此问题的想法不多了。 SQL Server 2014和更高版本中是否有某些新增功能可以警告用户创建的不必要的数据库连接?像已创建但未使用的连接? (我尝试通过使用MS SQL Management Studio创建数据库连接,然后关闭它来证明这一点,并且它不会创建RING_BUFFER_CONNECTIVITY日志...而是在sys.dm_exec_sessions ..中查看使用OLEDB和MS SQL Management Studio创建的会话。使用OLEDB的memory_usage = 0,而后者的memory_usage = 3)。

我想念什么?

附加的是在sys.dm_os_ring_buffers中创建的示例记录。

ring_buffer_connectivity_log

0 个答案:

没有答案
相关问题