如何查找Salesforce中sandbox(沙箱)与production(生产环境)的差异
Salesforce 沙箱运行正常但生产环境操作失败排查方案
1. 元数据配置差异排查
- 优先做元数据比对:可通过系统内置的
变更集(Change Set)比对功能,或导出两个环境同类型元数据文件做diff,重点核查以下配置:- 权限类:简档(Profile)、权限集(Permission Set)、共享规则、字段级安全(FLS),注意生产环境操作用户的权限通常比沙箱测试用的管理员权限更严格,需确认操作涉及的对象、字段、Apex类、页面的权限是否全部开通
- 自动化逻辑类:流程(Flow)、工作流规则、进程生成器、Apex触发器、验证规则,确认生产环境是否存在沙箱未配置的、可命中当前操作场景的拦截规则
- 数据约束类:字段必填属性、唯一值约束、 picklist 可选值、记录类型分配、查找过滤器,沙箱测试时可能未覆盖生产环境已有的约束条件
- 核查Governor Limit阈值:生产环境数据量、并发量远高于沙箱,排查操作是否触发了
SOQL查询行数上限、DML操作条数上限、CPU超时等 governor 限制,可操作失败后在设置-监控-调试日志中查看具体超限信息
2. 业务数据差异排查
- 核对操作涉及的业务数据:沙箱数据通常是生产环境的旧快照或人工构造的测试数据,检查生产环境中当前操作的记录是否存在特殊值、关联记录是否被删除、是否有重复数据触发唯一约束
- 核对组织架构数据:角色层级、队列成员、公共组成员配置会直接影响数据可见性和共享规则,确认沙箱的这类配置是否和生产完全同步
3. 环境全局配置差异排查
- 检查实例级功能开关:确认生产环境是否开启了沙箱未启用的特性,比如Salesforce Shield、多币种、IP访问限制、会话时效规则、SSO校验规则
- 检查第三方托管包版本:确认两个环境中操作涉及的第三方托管包版本号一致,低版本托管包在生产环境可能存在兼容性问题
4. 日志抓取与复现排查
- 生产环境开启调试日志:给操作用户配置调试跟踪,日志级别调整为
FINEST,复现失败操作后直接查看报错栈,大部分错误会直接返回权限不足、验证规则拦截、资源超限的明确提示,可直接定位差异点 - 沙箱模拟生产场景:如果日志信息不足,可将生产环境相关业务数据导入沙箱复现问题后再排查,避免直接在生产环境执行测试操作
小提示:优先抓取生产环境的原始报错信息,80%以上的同类问题可通过报错信息直接定位差异点,无需全量比对环境配置
内容的提问来源于stack exchange,提问作者שירה חלילי
相关产品推荐
相关产品推荐

