Sql server 用于审核的SSIS 2005转换?

Sql server 用于审核的SSIS 2005转换?,sql-server,ssis,Sql Server,Ssis,我的数据仓库中有两个表,需要在多个级别上进行审核。第一个表的结构如下: CREATE TABLE [dbo].[EnctrAPR]( [EncounterNumber] [varchar](50) NOT NULL, [MedRec] [varchar](50) NULL, [AdmitDate ] [datetime] NULL, [DischargeDate ] [datetime] NULL, [Age ] [varchar](50) NULL, [Disposition ] [varch

我的数据仓库中有两个表,需要在多个级别上进行审核。第一个表的结构如下:

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表中不在上表中的记录。 在DWH中,上面的每个位字段都为真但为假的文档记录。 确认给定日期范围内的总体记录计数


我可以使用SSI完成这些审核吗?或者,存储过程和SSI的组合是最佳选择吗?请为我提供一些关于如何最好地自动化此类审计的建议。

您可以使用SSIS中的查找转换来完成这一点,但此组件有点慢。如果数据库位于不同的服务器上,我倾向于使用SSI。如果它们在同一个实例中,我可能会使用不带SSI的存储过程

如果您确实使用SSIS方法,那么您将有一个OLEDB源从ODH读取行,对上表进行查找转换,然后将结果写入目标


我认为将SSI和SP结合用于此特定任务没有任何好处。

表位于同一实例上。听起来SP是我最好的选择?如果是这样的话,你有没有什么特别的方法来比较这两个表中的数据?有几种方法可以做到这一点。您可以使用EXISTS/notexists或EXCEPT/INTERSECT。就我个人而言,除了可读性,我更喜欢,但可能表现得不太好。对于位列,可以使用join、joining on key=key和bitcol bitcolOne更多问题,除了:表a中我的主键字段比表B中的长。我需要对表a中的字段进行子串以使其与表B中的字段匹配。我仍然可以使用EXCEPT吗?是,子字符串的结果只需要隐式地转换为另一个表的数据类型