我的数据仓库中有两个表需要在多个级别进行审计。第一个表的结构如下:
CREATE TABLE [dbo].[EnctrAPR](
[EncounterNumber] [varchar](50) NOT NULL,
[MedRec] [varchar](50) NULL,
[AdmitDate ] [datetime] NULL,
[DischargeDate ] [datetime] NULL,
[Age ] [varchar](50) NULL,
[Disposition ] [varchar](50) NULL,
[DRG ] [varchar](50) NULL,
[APRDRG ] [varchar](50) NULL,
[APRDRGWeight] [varchar](50) NULL,
[SOI] [varchar](50) NULL,
[ROM] [varchar](50) NULL,
[Age18] [bit] NULL,
[Age18To64] [bit] NULL,
[Age65] [bit] NULL,
[BowelObstruction] [bit] NULL,
[AMI] [bit] NULL,
[CABG] [bit] NULL,
[Valve] [bit] NULL,
[PCI] [bit] NULL,
[Sepsis] [bit] NULL,
[GSP] [bit] NULL,
[HF] [bit] NULL,
[Stroke] [bit] NULL,
[Pneumonia] [bit] NULL,
[DKA] [bit] NULL,
[GIBleed] [bit] NULL,
[Pancreatitis] [bit] NULL,
[RF] [bit] NULL,
[PE] [bit] NULL,
[COPD] [bit] NULL,
CONSTRAINT [PK_EnctrAPR] PRIMARY KEY CLUSTERED
(
[EncounterNumber] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
我需要对数据仓库中的另一个表进行多次审核。他们是: 识别上表中不在DWH表中的记录。 识别DWH表中不在上表中的记录。 记录上面每个位字段为TRUE但在DWH中为FALSE的记录。 确认给定日期范围的总记录数。
我可以使用SSIS完成这些审核吗?或者,存储过程和SSIS的组合是最好的选择吗?请提供一些关于最佳自动化审计的建议。
答案 0 :(得分:1)
您可以使用SSIS中的查找转换来完成此任务,但此组件有点慢。如果数据库在不同的服务器上,我倾向于使用SSIS。如果它们在同一个实例中,我可能会使用没有SSIS的存储过程。
如果你确实使用SSIS方法,你将有一个OLEDB源来读取ODH中的行,一个针对上表的查找转换,然后将结果写到目的地。
我认为将SSIS和SP结合起来没有任何好处。