Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 重定向SQL Server';将std应用程序日志中的事件转换为自定义事件_Sql Server_Windows_Registry - Fatal编程技术网

Sql server 重定向SQL Server';将std应用程序日志中的事件转换为自定义事件

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不能将其作为更好的实践

为了恢复导致昨天崩溃的事件序列,我们不得不从大量的信息中渗透出来,并且非常有兴趣找到一种将事件从SQL Server卸载到自定义事件日志的解决方案。谷歌只提供了一个链接,链接到

虽然我不想把SQL事件称为SQL事件(尽管双方同意,17101和17103拼写了“(c)20??Microsoft Corporation”和“保留所有权利”。每次重新启动都是一种浪费!),
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>