2013-07-19 76 views
0

可能是這個問題是多餘的,但我張貼它,因爲我無法得到確切的解決方案(請閱讀實際方案)。 我有以下腳本,它返回所有的表和相應的號碼。的行。在SQL Server的不同數據庫中加入兩個結果集

SELECT 
     sysobjects.Name, sysindexes.Rows 
    FROM 
     sysobjects 
     INNER JOIN sysindexes 
     ON sysobjects.id = sysindexes.id 
    WHERE 
     type = 'U' 
     AND sysindexes.IndId < 2 ORDER BY ([Rows]) 

現在,我想要在不同的數據庫(具有相同結構)上加入類似結果集的結果集。我無法使用sysobjects命名四個分區。它提供了錯誤:The multi-part identifier "My_Database1.sysobjects.Name" could not be bound.

實際場景:我有一個重複的數據庫,並想知道在哪個表中的數據還沒有從原始數據庫移動。

任何替代解決方案也將有所幫助。

回答

1

把.dbo 「My_Database1和sysobjects.Name」 之間在

My_Database1.dbo.sysobjects 
+0

謝謝。我錯過了模式名稱。 dbo和sys都工作 –

0

請使用SYS對象系統中的數據表:

select sys_obj.* from DatabaseName.Sys.sysobjects sys_obj 
1

你應該BLE對查詢SYS表不同於你連接的數據庫(當然,只要它們在同一個實例上)。檢查你的sysntax,我相信你缺少架構名sys,所以它會是:

SELECT * FROM My_Database1.sys.sysobjects 
+0

謝謝。我錯過了模式名稱。 dbo和sys都有效 –

相關問題