Sql server XML中的异常数据验证

Sql server XML中的异常数据验证,sql-server,xml,ssis,xsd,Sql Server,Xml,Ssis,Xsd,我将收到一些带有单独XSD的XML格式的机密员工数据。它将使用SSI注入我们的SQL Server(2016) 我被要求根据需要编辑XSD模式(对于数据格式,即将字符串更改为int等) 我希望我有一些数据验证,比如如果我有50k个员工记录,其中45k个有一些他们绝对不应该有的值(即isTerminated=1或其他),那么导入(或验证)应该失败 这可能吗?不,SQL Server可以使用自己的元数据提供模式,但在针对外部模式进行验证时,它并没有什么帮助 我被要求根据需要编辑XSD模式(对于数据格

我将收到一些带有单独XSD的XML格式的机密员工数据。它将使用SSI注入我们的SQL Server(2016)

我被要求根据需要编辑XSD模式(对于数据格式,即将字符串更改为int等)

我希望我有一些数据验证,比如如果我有50k个员工记录,其中45k个有一些他们绝对不应该有的值(即isTerminated=1或其他),那么导入(或验证)应该失败


这可能吗?

不,SQL Server可以使用自己的元数据提供模式,但在针对外部模式进行验证时,它并没有什么帮助

我被要求根据需要编辑XSD模式(对于数据格式,即将字符串更改为int等)

你不应该改变这个!传入的模式描述您获得的数据。特别是如果您想将字符串之类的更改设置为int,很可能会出现错误。。。设计源数据库的人并不愚蠢,希望他们有理由在这里设置字符串列


我会将这些数据导入一个暂存表,并首先检查数据的完整性。然后使用
MERGE
或simple
INSERT-INTO
将此批次写入您的表中,完成您之前找到的所有必要的强制转换和修复

XSD应该与源系统中的数据类型匹配。