0

我在我的源数据库中有一个表格,上面有100列。当我使用ssis包将数据从源数据库加载到目标数据库表时。 源表和目标表中的表相同。但是在某些情况下,目标表中的地址字段将被更改并且或者添加新的数据类型。 那么我怎么能发现新列与源表相比,在目标表中更改了数据类型。如何在SQL Server中的目标表中查找新字段?

是否有任何存储过程来查找缺少的列或地址字段和更改的数据类型。 我可以手动检查,但它杀死我的时间,我有50个表格,其中每个表格由100到200列组成。

请有人帮我找?

+0

查看sysObjects – Paparazzi

+0

sys.objects是sys.tables的超集。只是方程的一部分。但是你需要知道列名和数据类型,以确保源表与目标相比并没有真正改变。 –

回答

0

您可以从sys.tables中获取所有表名,并从sys.columns获取所有列名。

您可以编写代码以在目标和源数据库上执行此操作;但是,您可能会浪费大量时间重新发明轮子。

http://www.red-gate.com/products/sql-development/sql-compare/

刚刚得到的试用版销售团队红门SQL-进行比较。如果你喜欢它,就买它。它只需要495美元。

可能比试图自己写点东西的钱要少很多!

+0

从红门看源代码管理。它可以帮助您解决架构上的控制问题。我实际上可以从简单的x-ref表中存储数据。 –

相关问题