暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[译文] 如何使用 T-SQL 查询查看和更改 SQL Server 代理属性

原创 Stéphane Haby 2021-09-01
1701

几天前,重新启动后,我们在许多服务器上的代理错误日志中收到此警告:
警告 [396] 未定义空闲 CPU 条件 – OnIdle 作业计划将无效

image.png

“CPU 空闲定义会影响 Microsoft SQL Server 代理对事件的响应方式。例如,假设您将 CPU 空闲条件定义为平均 CPU 使用率低于 10% 并保持该水平 10 分钟。然后,如果您定义了在服务器 CPU 达到空闲状态时要执行的作业,则该作业将在 CPU 使用率低于 10% 时启动并保持该水平 10 分钟。“在此处dixit Microsoft 文档。
要解决此警告,您需要转到 Agent Properties>Advanced 并检查“Define idle CPU condition” ,用于检查它的查询是:

image.png

USE [msdb] GO EXEC msdb.dbo.sp_set_sqlagent_properties @cpu_poller_enabled=1 GO

对于这个问题,我还将为您提供一些有用的查询,以查看代理属性。

检索有关代理属性的信息的最佳方法是使用存储过程:msdb.dbo.sp_get_sqlagent_properties 有关代理属性的所有信息都在注册表中:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent 您当然可以直接阅读注册表中的值与查询:

image.png

image.png

EXECUTE master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent',N' CoreEngineMask', @cpu_poller_enabled OUTPUT, N'no_output'

在我的情况下,信息位于值名称 CoreEngineMask 上,要获得该值,您需要执行如下过滤器:

IF (@cpu_poller_enabled IS NOT NULL) SELECT @cpu_poller_enabled = CASE WHEN (@cpu_poller_enabled & 32) = 32 THEN 0 ELSE 1 END

为了完成本文,我将向您提供用于将存储过程中的信息放入表中的查询,以便更轻松地检索需要的信息:

CREATE TABLE #sqlagent_properties ( auto_start INT, msx_server_name sysname NULL, sqlagent_type INT, startup_account NVARCHAR(100) NULL, sqlserver_restart INT, jobhistory_max_rows INT, jobhistory_max_rows_per_job INT, errorlog_file NVARCHAR(255) NULL, errorlogging_level INT, errorlog_recipient NVARCHAR(255) NULL, monitor_autostart INT, local_host_server sysname NULL, job_shutdown_timeout INT, cmdexec_account VARBINARY(64) NULL, regular_connections INT, host_login_name sysname NULL, host_login_password VARBINARY(512) NULL, login_timeout INT, idle_cpu_percent INT, idle_cpu_duration INT, oem_errorlog INT, sysadmin_only NVARCHAR(64) NULL, email_profile NVARCHAR(64) NULL, email_save_in_sent_folder INT, cpu_poller_enabled INT, alert_replace_runtime_tokens INT ) INSERT INTO #sqlagent_properties EXEC msdb.dbo.sp_get_sqlagent_properties GO SELECT cpu_poller_enabled FROM #sqlagent_properties DROP TABLE #sqlagent_properties

image.png

我希望这可以在您搜索代理属性并希望在您的 SQL Server 环境中更改它时对您有所帮助。

最后修改时间:2021-09-01 16:04:38
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论