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 ...
随机推荐
- Java多线程断点下载文件
Java实现断点续传+多线程下载 如下代码所示,每一步都有注解 思路: 通过URL连接到服务器上要下载的文件,得到文件的大小: 算出每条线程下载的开始位置和结束位置,例如,有两条线程下载100Byte ...
- 题解 [CF916E] Jamie and Tree
题面 解析 这题考试时刚了四个小时. 结果还是爆零了 主要就是因为\(lca\)找伪了. 我们先考虑没有操作1,那就是裸的线段树. 在换了根以后,主要就是\(lca\)不好找(分类讨论伪了). 我们将 ...
- Codeforces Round #453 (Div. 1) 901C C. Bipartite Segments
题 http://codeforces.com/contest/901/problem/C codeforces 901C 解 首先因为图中没有偶数长度的环,所以: 1.图中的环长度全是奇数,也就是说 ...
- Finding Lane Lines on the Road
Finding Lane Lines on the Road The goals / steps of this project are the following: Make a pipeline ...
- @Autowired @Primary @Qualifier
1 2 3 4 5
- CKEditor从word粘贴问题
最近公司做项目需要实现一个功能,在网页富文本编辑器中实现粘贴Word图文的功能. 我们在网站中使用的Web编辑器比较多,都是根据用户需求来选择的.目前还没有固定哪一个编辑器 有时候用的是UEditor ...
- 关于shell输出的一些问题
有时候在调试程序中需要将打印到屏幕上的信息保存中,一般情况下可以使用 >fileName,应该注意到有些情况下程序可能会在标准错误输出中输出这些内容,这时需要时 progam 2>1.tx ...
- python 生成金字塔,2^n
code row = int(input("请输入行数:")) num = sum = , row + ): , -): print(" ", end=&quo ...
- Flask-特殊的装饰器
视图函数中的装饰器 -----------------------视图中的装饰器---------------------- 1.如果使用的是函数视图,那么自己定义的装饰器必须放在`app.route ...
- UVA 12501 Bulky process of bulk reduction ——(线段树成段更新)
和普通的线段树不同的是,查询x~y的话,给出的答案是第一个值的一倍加上第二个值的两倍一直到第n个值的n倍. 思路的话,就是关于query和pushup的方法.用一个新的变量sum记录一下这个区间里面按 ...