Sql server 重定向SQL Server';将std应用程序日志中的事件转换为自定义事件
为了恢复导致昨天崩溃的事件序列,我们不得不从大量的信息中渗透出来,并且非常有兴趣找到一种将事件从SQL Server卸载到自定义事件日志的解决方案。谷歌只提供了一个链接,链接到 虽然我不想把SQL事件称为SQL事件(尽管双方同意,17101和17103拼写了“(c)20??Microsoft Corporation”和“保留所有权利”。每次重新启动都是一种浪费!),Sql server 重定向SQL Server';将std应用程序日志中的事件转换为自定义事件,sql-server,windows,registry,Sql Server,Windows,Registry,为了恢复导致昨天崩溃的事件序列,我们不得不从大量的信息中渗透出来,并且非常有兴趣找到一种将事件从SQL Server卸载到自定义事件日志的解决方案。谷歌只提供了一个链接,链接到 虽然我不想把SQL事件称为SQL事件(尽管双方同意,17101和17103拼写了“(c)20??Microsoft Corporation”和“保留所有权利”。每次重新启动都是一种浪费!), IMHO将SQL事件重新路由到自己的日志肯定是有用的 该死,连IE都有一个内置的!为什么SQL Server不能将其作为更好的实践
IMHO将SQL事件重新路由到自己的日志肯定是有用的
该死,连IE都有一个内置的!为什么SQL Server不能将其作为更好的实践来实现?尤其是在Vista/Win7上,它为其他应用程序的加载提供了大量的单独日志——这对IMHO来说是毫无用处的(从来没有必要在那里挖掘),但每次打开它时都会迫使UI慢到爬行状态: 我成功地遵循了创建“SQLServer”自定义日志的指导原则,将源定义添加到日志中。不幸的是,任何将SQL事件重新路由到it的尝试似乎都会遇到一个问题,即MSSQLSERVER(与SQL服务的默认名称匹配的日志源)是某种内置源: EventCreate/l“SQLServer”/t信息/so MSSQLSERVER/id 1/d“已创建日志”
错误:源参数仅用于标识自定义应用程序/脚本(不是内置源) 当我将日志下的MSSQLSERVER标记为CustomSource(DWORD=1)时,上述错误消失: EventCreate/l“SQLServer”/t信息/so MSSQLSERVER/id 2/d“新条目”
成功:在“MSSQLSERVER”日志/源中创建了“信息”类型的事件 实际上,ID为2的事件desc='New entry'已添加到自定义事件日志中但是,在此配置中,真正的MSSQLSERVER服务不会将事件写入此新日志或标准的“应用程序”日志:(.功能在还原注册表中的日志定义时恢复(无需重新启动!),因此这是一种可逆的情况 此外,从上面看,任何源都只能与一个日志相关联。这已经足够逻辑了。但是,如果我删除显式注册表项,那么这些内置源的定义是什么呢?也许我应该在做了这些更改后重新启动计算机(尽管没有必要恢复) 是否有人对此进行了进一步的探索,并取得了成功 编辑:到目前为止,正如我所说,似乎只有通过从视图中过滤出MSSQLSERVER(或其他SQL服务名称)事件才能解决此问题,如下所示: 但是XML选项卡暴露了隐藏在引擎盖下的内容,这非常难看(就像在极度低效的情况下): 我想要一种更好的方式来管理此事件数据,并且我确信我不是唯一一个。
因此,如果Microsoft的任何人正在阅读此文档,请注意!?如果您希望创建事件查看器筛选器以排除特定源,请参阅XML(从“应用程序”日志中抑制SQL Express事件)
*
*[系统[提供程序[@Name='MSSQL$SQLEXPRESS']]
请参见不完全相同。相同的信息会写入
Windows应用程序事件日志
。我宁愿指定一个明确的自定义Windows
事件日志,并让SQL将其事件保存在那里,否则它会淹没标准事件:80..90%是SQL内容。它可以被过滤掉,但最有可能需要设置y time one打开事件查看器..我不认为您可以。一些API允许您纯粹基于源编写日志,其他API允许您指定事件源和目标日志。可能,当您将MSSQLSERVER源切换到备用日志时,这些类型的调用将失败。请继续过滤日志(或通过SSM查看SQL日志)。看起来很不幸。重点是:SQL Server会淹没应用程序日志,并且查找其他事件变得非常笨拙和缓慢(我要查找的不是SQL的事件…)
<QueryList>
<Query Id="0" Path="Application">
<Select Path="Application">*
</Select>
<Suppress Path="Application">*[System[Provider[@Name='MSSQL$SQLEXPRESS']]]</Suppress>
</Query>
</QueryList>