这是一项工作中的硬件分配。
我现在正在做的工作是数据库归档。我使用源数据库并使用存储过程将所有(或特定部分)数据移动到新的存档数据库中。
问题是,并非源DB中的所有列都与目标DB匹配。
如何比较数据库中缺少列的表,然后匹配它们?因此,如果源DB具有包含4列的表1并且目标DB具有仅包含2列的表1,那么如何比较表1和表,然后添加/删除列以使其彼此匹配?
SQL Server 2012 / SQL Management Studio
答案 0 :(得分:0)
您可以通过查询Information_Schema.Columns或sys.Columns来比较表列。
以下查询将提供缺少列数
SELECT c2.table_name,c2.COLUMN_NAME
FROM archdb.[INFORMATION_SCHEMA].[COLUMNS] c2
WHERE table_name='archtable' and c2.COLUMN_NAME
not in (SELECT column_name
FROM orgdb.[INFORMATION_SCHEMA].[COLUMNS]
WHERE table_name='orgtable')
这个link将提供有关比较sql server表的方法和工具的数量的信息