如果您正在使用 SOLIDWORKS PDM,您大概率会通过数据库内部消息或电子邮件收到与文件库内文件操作相关的系统通知。SOLIDWORKS PDM 通知是文档管理与项目全生命周期管控中的关键组成部分,因此保障通知功能正常运行至关重要。通知功能由数据库服务器服务统筹管理,无论您选用 PDM 内置站内通知或是 SMTP 邮件通知,运行状态正常的数据库服务都是通知体系稳定工作的基础。
缩小故障排查范围
查看报错信息并核查系统各项功能,能够帮助定位故障根源,以下为多处关键核查点位。
测试通知功能
1、在 PDM 管理工具中登录目标文件库。
2、打开【消息系统设置】。
3、切换至【SMTP 设置】选项卡。

SOLIDWORKS PDM 通知 SMTP 设置选项卡界面
4、点击【测试设置】按钮,输入收件邮箱地址,发送一条测试通知。

SOLIDWORKS PDM 测试设置弹窗
5、若弹出 “找不到服务器” 报错:此处所指服务器为数据库服务器,需要回看前文配置项重新核对参数。
6、若报错附带三位数字错误码(例如 504、502,格式多为 504 5.7.4 这类分段编码):该报错由 SMTP 邮件服务器直接反馈,通常需要企业 IT 团队处理,故障多源于 SMTP 服务器安全策略、白名单配置缺失或服务器参数配置错误。
在事件查看器中检索错误日志
1、重启 SOLIDWORKS PDM 数据库服务器服务。
2、打开 Windows 事件查看器程序。
3、展开 Windows 日志分类,选中【应用程序】。
4、筛选并处理列表中与该服务相关的报错条目。

SOLIDWORKS PDM 通知故障排查 —— 事件查看器报错页面
列表中出现的报错内容基本就是服务异常的诱因,处理完报错对应的问题后,重启数据库服务并再次检查日志。
最常见报错内容为 “每用户订阅项对应的所有者安全标识符 (SID) 不存在”,该报错一般代表数据库服务或注册表配置异常,可参照下文配置章节核对各项参数。
核查 DocumentActionInfo 数据表
流程通知被触发后,系统会生成通知数据并存入数据库队列,全部数据存储在 dbo.DocumentActionInfo 数据表内。随后数据库服务周期性轮询该数据表,将消息转发至 SMTP 服务器完成投递;通知成功推送至 SMTP 服务器后,对应数据行就会从数据表中移除。
系统默认单次批量处理 100 条通知任务,轮询周期默认 60 秒。系统运行正常时,数据表内数据行数会持续减少。通过查看通知数据是否正常生成、是否自动从表内移除,即可定位故障所处环节。
1、打开 SQL Server 管理工具(SSMS)。
2、在左侧对象资源管理器展开故障文件库对应的数据库。
3、展开数据表,找到 dbo.DocumentActionInfo。
4、右键该数据表,选择【选择前 1000 行】。

SOLIDWORKS PDM 通知排查时查看 DocumentActionInfo 数据表
完成数据表访问后,需手动触发一条流程通知来验证运行逻辑,该通知必须由工作流触发(不能使用管理工具内测试消息,也不能在文件资源管理器右键菜单执行 “发送通知”),同时收件人不能和触发人是同一账号(例如管理员账号不能给自己发送通知)。常规操作建议:使用管理员账号登录,为您在文件库内的个人账户生成一条通知。
建议操作过程中保持 SSMS 软件打开,整套流程运行速度较快,标准执行步骤如下:
1、触发工作流通知。
2、工作流转审并触发通知后,每隔 5 至 10 秒点击 SSMS 左上角绿色执行按钮刷新数据表。
3、通知应在 10 至 15 秒内写入 DocumentActionInfo 数据表。
4、写入完成后,数据需在 30 至 60 秒左右从数据表自动删除。
5、数据从表内消失代表通知已成功下发至 SMTP 邮件服务器。
故障分三类情形:
• 数据完全无法写入数据表:大概率数据库服务配置错误或文件损坏,请跳转至下文配置章节逐项核查。
• 数据成功入库,但数分钟后仍未自动删除:数据库服务与 SQL 数据库通讯异常,可通过数据库服务器配置工具更新 sa 账号密码,或是修改 MailServer 注册表项,两项操作均在下文配置板块详述。
• 数据从数据表移除,但收件邮箱未收到邮件:PDM 已成功把消息推送至 SMTP 服务器,邮件投递失败问题出在邮件服务端,需联系企业 IT 查看邮件服务器交换日志,该故障不在 PDM 系统问题范畴。数据从 DocumentActionInfo 表清除后,数据已完全离开 PDM 数据库,无法再通过 PDM 系统追踪邮件去向。
长时间通知发送异常时,该数据表会积压大量待发送数据,数据量过高会造成系统卡死、通知彻底停滞,清空历史积压数据可修复该问题。
重要提醒:执行数据表清空前务必对数据库完整备份,备份操作指引可查看官方对应文档。
1、在 SSMS 顶部点击【新建查询】。
2、在工具栏数据库下拉框选中对应文件库数据库。
3、在编辑区输入语句:truncate table documentactioninfo。
4、点击执行按钮。

SOLIDWORKS PDM 执行 SQL 清空数据表语句界面
5、执行成功后结果窗口会返回执行完成提示。

SOLIDWORKS PDM 新建查询执行页面
配置核查
绝大多数通知失效问题源于系统配置错误,在 PDM 版本升级、服务器硬件或架构调整后该故障高发。若无特殊说明,下述所有排查操作均需要在 PDM 服务器本机完成。
数据库服务器服务
数据库服务器服务是 PDM 服务端后台组件,支撑包含通知在内的多项系统功能,服务未启动或版本不匹配都会造成通知发送异常。
1、打开 Windows 服务管理器,查找【SOLIDWORKS PDM Database Server】服务项。

打开 Windows 服务查看 SOLIDWORKS PDM 数据库服务器服务
2、列表无该服务:使用对应版本及补丁包的 PDM 安装介质补充安装该组件。
3、服务存在但处于停止状态:启动该服务。
4、右键服务→【属性】,记录可执行文件路径。

SOLIDWORKS PDM 数据库服务器属性,可执行文件路径位置
5、根据记录路径在文件资源管理器找到主程序 ConisioDbServer.exe。
6、右键程序→【属性】→【详细信息】,查看产品版本号。

查看 SOLIDWORKS PDM 程序产品版本
7、打开 PDM 管理工具。
8、点击界面左上角问号图标打开关于页面,记录文件库编译版本号。

SOLIDWORKS PDM 管理工具查看编译版本号
9、示例中文件库版本为 33.3,数据库服务版本也必须同为 33.3;二者版本不一致时,卸载现有程序,重装和文件库大版本匹配的 SOLIDWORKS PDM 数据库服务器程序。
sa 账号密码配置
SOLIDWORKS PDM 依托数据库账号(常规使用 sa 账号)登录 SQL 数据库并完成数据交互,账号凭据错误会直接中断文件库相关功能。先确认留存的 sa 密码准确无误,随后在数据库服务器配置工具中重新录入密码。
1、在 PDM 配套 SQL 服务器上打开 SQL Server 管理工具(SSMS)。
2、使用 sa 账号尝试登录数据库。

SOLIDWORKS PDM 通知故障排查 ——sa 密码设置界面
3、若 sa 密码失效,需要重置数据库 sa 密码,重置教程参考文档:《SOLIDWORKS PDM 如何重置 SQL SA 用户密码》。
4、确认 sa 账号可正常登录 SSMS 后,打开数据库服务器配置工具(Windows 开始菜单搜索 database 调出程序),填入验证无误的 sa 密码。
5、同时核查数据库轮询等待时间:该参数代表 PDM 数据库服务轮询 SQL 数据库抓取新数据的间隔,标准数值 60 秒,设置值不得低于 30 秒。

SOLIDWORKS PDM 通知排查 sa 参数配置页面
6、设置完成后在 Windows 服务列表重启 SOLIDWORKS PDM 数据库服务器服务。
MailService 注册表配置
1、打开 Windows 注册表编辑器。
2、定位注册表路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\Applications\PDMWorks Enterprise\MailService。
3、Server 键值内容必须和 SSMS 内显示的数据库名称完全一致。

SOLIDWORKS PDM 通知故障排查 MailService 注册表项
快速核对数据库实例名称方法:登录 SQL 管理工具,查看左侧对象资源管理器标注内容。
默认数据库实例:仅填写服务器主机名;
命名数据库实例:格式为「服务器名 \ 实例名」,示例:PDMServer\SWPDM。
SMTP 参数配置
1、在 PDM 管理工具登录目标文件库。
2、打开【消息系统设置】。
3、切换至【SMTP 设置】选项卡,逐项核对所有配置信息。
4、若 SMTP 服务开启身份验证,务必确认登录账号与密码填写正确。

SOLIDWORKS PDM 通知排查 SMTP 配置界面
上述步骤全部无效的兜底方案
以上排查步骤可解决九成通知故障,若逐项排查完毕故障依旧存在,卸载后重装数据库服务器组件可修复问题。
1、打开 Windows 程序和功能面板。
2、找到 PDM 服务端安装程序条目,右键选择【更改】。
3、选择修改安装模式。

SOLIDWORKS PDM 故障排查修改安装程序向导
4、取消勾选【数据库服务器】组件。

SOLIDWORKS PDM 取消勾选数据库服务器组件
5、跟随安装向导完成卸载,随后打开注册表编辑器,删除路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\Applications\PDMWorks Enterprise\MailService。
6、再次通过修改安装的方式重新安装数据库服务器组件。
结语
如果您在 SOLIDWORKS PDM 通知配置及故障处理过程中遇到疑难,可联系智诚科技ICT 技术支持团队获取协助,电话:400-886-6353。
获取正版软件免费试用资格,有任何疑问拨咨询热线:400-886-6353或 联系在线客服
未解决你的问题?请到「问答社区」反馈你遇到的问题,专业工程师为您解答!