【问题标题】:How to find new fields in the Destination table in SQL Server?如何在 SQL Server 的目标表中查找新字段?
【发布时间】:2014-05-13 17:11:28
【问题描述】:

我的源数据库中有一个表,上面有 100 列。我使用 ssis 包将数据从源数据库加载到目标数据库表。 源表和目标表中的表是相同的。但有时在目标表中的地址字段会更改或添加新的数据类型。 那么,与源表相比,我如何才能找到新列在目标表中的数据类型发生了变化。

是否有任何存储过程来查找丢失的列或地址字段以及更改的数据类型。 我可以手动检查,但这会浪费我的时间,我有 50 个表格,每个表格由 100 到 200 列组成。

请有人帮我找到?

【问题讨论】:

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

标签: sql-server tsql sql-server-2008-r2 sql-server-2012 data-conversion


【解决方案1】:

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

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

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

只需从红门的销售团队那里获得 SQL-Compare 的试用版。如果你喜欢它,就买它。仅需 495 美元。

可能比自己写东西要少很多钱!

【讨论】:

  • 查看 Red Gate 的源代码控制。它可以帮助您解决对模式的控制问题。我实际上可以存储来自简单外部参照表的数据。
猜你喜欢
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 2018-08-31
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 2021-03-01
相关资源
最近更新 更多