You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSIS DailyETL包执行失败,触发FK外键约束错误

解决WideWorldImportersDW中MigrateStagedMovementData的外键约束冲突问题
  • 第一步:定位冲突的日期键
    执行以下SQL查询,找出临时表中不存在于日期维度表的Date_Key值:

    SELECT DISTINCT Date_Key 
    FROM Integration.Staged_Movement
    WHERE Date_Key NOT IN (SELECT Date_Key FROM Dimension.Date);
    

    注意Date_Key一般是YYYYMMDD格式,可通过CONVERT(date, CAST(Date_Key AS CHAR(8)))转换为日期格式,确认这些日期是否合法。

  • 第二步:检查日期维度表的覆盖范围
    查询日期维度表的起止日期,确认是否包含上述冲突日期:

    SELECT MIN(Date) AS Min_Date, MAX(Date) AS Max_Date FROM Dimension.Date;
    
  • 第三步:补充缺失的日期维度记录
    如果冲突日期超出了现有维度范围,调用自带存储过程生成对应日期的维度记录:

    EXEC Dimension.AddDateRange 
         @StartDate = '需要补充的起始日期', 
         @EndDate = '需要补充的结束日期';
    

    替换参数为实际的日期范围,确保覆盖所有临时表中缺失的日期。

  • 第四步:重新执行迁移操作
    完成维度数据补充后,再次运行迁移存储过程:

    EXEC Integration.MigrateStagedMovementData;
    

常见原因说明

这个冲突通常是因为扩展WideWorldImporters生成的业务数据日期,超出了数据仓库日期维度表默认的覆盖范围,重置种子值时未同步更新维度表的日期区间导致的。

内容的提问来源于stack exchange,提问作者Ian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 18:03:16