如何使用 SQL 比较两个不同数据库中的表?

cha*_*ama 1 t-sql sql-server sql-server-2005

我正在尝试比较不同数据库中存在的两个表的架构。到目前为止,我有这个查询

SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('table1')

唯一的问题是我不知道如何使用 sys.columns 来引用查询所连接的数据库以外的数据库。我试过这个

SELECT * FROM db.sys.columns WHERE object_id = OBJECT_ID('table1')

但没有发现任何东西。

我正在使用 SQL Server 2005

有什么建议么?谢谢!

Joe*_*lli 5

看看redgate 的 SQL Compare

要回答您的具体问题,您需要完全限定表格引用。

SELECT * FROM db.sys.columns WHERE object_id = OBJECT_ID('db.SchemaName.table1')
Run Code Online (Sandbox Code Playgroud)