syspolicy_purge_history作业故障排除
描述
操作步骤
a.查看job的具体报错提示

消息
已以用户 XXXXXXXXX 的身份执行。 作业步骤在 PowerShell 脚本的行 1 中接收到错误。对应行为“import-module SQLPS -DisableNameChecking”。更正脚本并重新安排作业。PowerShell 返回的错误信息为“未能加载文件或程序集“file:///C:\Program Files (x86)\Microsoft SQL Server\130\Tools\PowerShell\Modules\SQLPS\Microsoft.SqlServer.Management.PSSnapins.dll”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。 ”. 进程退出代码 -1。. 该步骤失败。
if ('$(ESCAPE_SQUOTE(INST))' -eq 'MSSQLSERVER') {$a = '\DEFAULT'} ELSE {$a = ''};
(Get-Item SQLSERVER:\SQLPolicy\$(ESCAPE_NONE(SRVR))$a).EraseSystemHealthPhantomRecords()
b.在powershell 运行Import-Moduls 语句

c.修改环境变量


%ProgramFiles%\WindowsPowerShell\Modules;%SystemRoot%\system32\WindowsPowerShell\v1.0\Modules;C:\Program Files (x86)\Microsoft SQL Server\130\Tools\PowerShell\Modules\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules\
%ProgramFiles%\WindowsPowerShell\Modules;%SystemRoot%\system32\WindowsPowerShell\v1.0\Modules;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules\;C:\Program Files (x86)\Microsoft SQL Server\130\Tools\PowerShell\Modules\
d.重新执行job验证

后记
日期 2019/6/15 8:01:25
日志 作业历史记录 (syspolicy_purge_history) 步骤 ID 3
服务器 D*********
作业名称 syspolicy_purge_history
步骤名称 Erase Phantom System Health Records.
持续时间 00:00:00
SQL 严重性 0
SQL 消息 ID 0
已通过电子邮件通知的操作员
已通过网络发送通知的操作员
已通过寻呼通知的操作员
重试次数 0 消息
无法开始执行步骤 3 (原因: PowerShell 子系统加载失败 [有关详细信息,请参阅 SQLAGENT.OUT 文件];该作业已挂起). 该步骤失败。
对应的SQLAGENT.OUT 文件部分内容如下:
2019-06-14 16:04:12 - ! [] 无法加载子系统“PowerShell”(原因: 系统找不到指定的路径。)
2019-06-14 16:04:12 - ? [] SQLSERVERAGENT 在 Windows NT 服务控制下启动
2019-06-14 16:04:12 - + [] 没有为代理通知启用数据库邮件。
2019-06-14 16:04:12 - + [] 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2019-06-15 08:01:25 - ! [LOG] 未能加载 PowerShell 子系统,所以不能运行作业“syspolicy_purge_history”(0x8CEE075FE296DF4DA6B50C671B32C757)的步骤 3。该作业已挂起。
2019-06-16 22:13:31 - + [] 运行作业 syspolicy_purge_history 的请求(来自 计划 8 (syspolicy_purge_history_schedule))被拒绝,因为该作业已挂起
2019-06-17 07:40:44 - + [] 运行作业 syspolicy_purge_history 的请求(来自 计划 8 (syspolicy_purge_history_schedule))被拒绝,因为该作业已挂起
2019-06-18 07:51:42 - + [] 运行作业 syspolicy_purge_history 的请求(来自 计划 8 (syspolicy_purge_history_schedule))被拒绝,因为该作业已挂起
2019-06-19 07:41:52 - + [] 运行作业 syspolicy_purge_history 的请求(来自 计划 8 (syspolicy_purge_history_schedule))被拒绝,因为该作业已挂起
2019-06-20 07:47:37 - + [] 运行作业 syspolicy_purge_history 的请求(来自 计划 8 (syspolicy_purge_history_schedule))被拒绝,因为该作业已挂起
解决步骤
--step 1
SELECT * FROM msdb.dbo.syssubsystems WHERE start_entry_point ='PowerShellStart'

第二步:核实该路径是否有效



Use msdb
go sp_configure 'allow updates', 1 RECONFIGURE WITH OVERRIDE
UPDATE msdb.dbo.syssubsystems SET agent_exe='D:\Program Files\Microsoft SQL Server\130\Tools\Binn\SQLPS.exe' WHERE start_entry_point ='PowerShellStart'

SELECT * FROM msdb.dbo.syssubsystems WHERE start_entry_point ='PowerShellStart'

Use msdb go sp_configure 'allow updates', 0 RECONFIGURE WITH OVERRIDE
第五步:重启一下sql server 代理服务

import-module : 未能加载指定的模块“SQLPS”,因为在任何模块目录中都没有找到有效模块文件。
所在位置 行:1 字符: 1
+ import-module SQLPS
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (SQLPS:String) [Import-Module], FileNotFoundException
+ FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand
对比其他服务器发现Tools文件夹下缺失PowerShell文件夹,从其他同版本的服务器拷贝一个过来,如下:




日期 2019/6/19 17:43:07
日志 作业历史记录 (syspolicy_purge_history) 步骤 ID 3
服务器 S*****
作业名称 syspolicy_purge_history
步骤名称 Erase Phantom System Health Records.
持续时间 00:00:30
SQL 严重性 0
SQL 消息 ID 0
已通过电子邮件通知的操作员
已通过网络发送通知的操作员
已通过寻呼通知的操作员
重试次数 0 消息
已以用户 HDJT\sprsql 的身份执行。 作业步骤在 PowerShell 脚本的行 1 中接收到错误。对应行为“set-executionpolicy RemoteSigned -scope process -Force”。更正脚本并重新安排作业。PowerShell 返回的错误信息为“安全性错误。 ”. 进程退出代码 -1。. 该步骤失败。
官方的解决方法如下
不受限制的明确建议不要从安全角度因为这意味着没有限制。PowerShell 脚本运行成功时MachinePolicy设置为在域控制器中的RemoteSigned从 SQL 2012 年启动时,这就是原因。
要解决此问题,请使用下列方法之一︰
- 不要设置域控制器 GPO 的计算机策略。如果未定义,这意味着下一个级别策略 (示例中, UserPolicy,然后流程,然后为CurrentUser,和上一次LocalMachine) 将优先。
- 在 Active Directory 用户和计算机中创建新组织单位 (OU) 并将链接组策略的 OU。然后启用 RemoteSigned 策略。若要执行此操作,请执行以下步骤:
- 转到Active Directory 用户和计算机。
- 用鼠标右键单击您的域->新建->组织单位创建新的组织单位。
- 在运行,键入gpmc.msc ,然后用鼠标右键单击组策略对象->新建以创建新的 GPO。
- 用鼠标右键单击新创建的 GPO->编辑。它会打开一个新窗口。
- 转到计算机配置->策略->管理模板-> Windows 组件-> Windows PowerShell -> 双击打开脚本执行
- 设置为允许本地脚本和远程签名的脚本的执行策略
- 单击应用,然后单击确定。
- 转到Active Directory 用户和计算机,然后单击计算机。在域中找到计算机的列表。右键单击您希望移动在新创建的组织单位中的计算机。以这种方式,可以将单个或一组计算机移动到一个组织单位。
- 转到组策略管理用鼠标右键单击新创建的组织单位、 单击链接现有的 GPO、 选择新创建的 GPO,然后单击确定。
- 通过运行此命令继续更新域控制器和客户端计算机上的策略。
gpupdate /force - 验证计算机策略的组织单位和客户端组件,它应该RemoteSigned。
参考
syspolicy_purge_history作业故障排除的更多相关文章
- 第十篇 Replication:故障排除
本篇文章是SQL Server Replication系列的第十篇,详细内容请参考原文. 复制故障排除是一项艰巨的任务.在任何复制设置中,都涉及到很多移动部件,而可用的工具并不总是很容易识别问题.Th ...
- 【译】第十篇 Replication:故障排除
本篇文章是SQL Server Replication系列的第十篇,详细内容请参考原文. 复制故障排除是一项艰巨的任务.在任何复制设置中,都涉及到很多移动部件,而可用的工具并不总是很容易识别问题.Th ...
- spark——故障排除
故障排除一:控制reduce端缓冲大小以避免OOM 在Shuffle过程,reduce端task并不是等到map端task将其数据全部写入磁盘后再去拉取,而是map端写一点数据,reduce端task ...
- 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除
目录 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除 18.1 centos6系统启动过程及相关配置文件 18.1.1 centos6系统启动过程 18.1.2 centos6启 ...
- spark 性能优化 数据倾斜 故障排除
版本:V2.0 第一章 Spark 性能调优 1.1 常规性能调优 1.1.1 常规性能调优一:最优资源配置 Spark性能调优的第一步,就是为任务分配更多的资源,在一定范围 ...
- Longhorn 云原生容器分布式存储 - 故障排除指南
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生容器分布式存储 - 设计架构和概念 Longhorn 云原生容器分布式存储 - ...
- 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- 细化如何安装LNMP + Zabbix 监控安装文档以及故障排除
1.LNMP所需安装包: 上传如下软件包到/soft目录中 mysql- (centos6. 64位自带)也可根据版本自行挑选,前提你了解这个版本 pcre-8.36.tar.gz nginx-.ta ...
- 《DevOps故障排除:Linux服务器运维最佳实践》读书笔记
首先,这本书是Linux.CN赠送的,多谢啦~ http://linux.cn/thread-12733-1-1.html http://linux.cn/thread-12754-1-1.html ...
随机推荐
- PAT Basic 1049 数列的片段和 (20 分)
给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段.例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) ...
- 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?(未完成)
两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?(未完成)
- okhttp拦截器之ConnectInterceptor解析
主流程分析: 继续分析okhttp的拦截器,继上次分析了CacheInterceptor缓存拦截器之后,接下来到连接拦截器啦,如下: 打开看一下它的javadoc: 而整个它的实现不长,如下: 也就是 ...
- BZOJ4383 [POI2015]Pustynia[线段树优化建边+拓扑排序+差分约束]
收获挺大的一道题. 这里的限制大小可以做差分约束,从$y\to x$连$1$,表示$y\le x-1$即$y<x$,然后跑最长路求解. 但是,如果这样每次$k+1$个小区间每个点都向$k$个断点 ...
- ABP 集成 nswag 到 VUE 项目, 自动生成操作类代码
记录日期: 2019-9-22 23:12:39 原文链接:https://www.cnblogs.com/Qbit/p/11569906.html 集成记录: npm install nswag - ...
- Java反射的使用
反射的概述 1.Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法. 2.对于任意一个对象,都能调用它的任意一个方法和属性. 3.通过动态获取的信息以及动态调用对象的方法 ...
- BZOJ 3744 Gty的妹子序列 分块+树状数组
具体分析见 搬来大佬博客 时间复杂度 O(nnlogn)O(n\sqrt nlogn)O(nnlogn) CODE #include <cmath> #include <cctyp ...
- Easy-RSA 3 Quickstart README
Easy-RSA 3 Quickstart README This is a quickstart guide to using Easy-RSA version 3. Detailed help o ...
- Cocos Creator中按钮组件数组的使用
Cocos Creator游戏开发中经常使用到按钮,特别是大量按钮的情况,此时使用数组来管理这些按钮就显得更具通用性.我大致走了一下官方的示例,好像没有发现有这个小内容(或者有,但我却是没有找到),于 ...
- 使用horovod构建分布式深度学习框架
最近两周一直在尝试着分布式深度学习的架构,主要的原因一方面是几台机子全是1060卡,利用深度网络在较大数据样本上训练的效率极其低下,所以尝试着将几台机子做成分布式,看看能否提高训练效率:第二方面是有人 ...