2015-06-08 20 views
-1

我需要從源表中提取特定的硬件數據。硬件信息存在於具有如下列的表SERVER_DATA,如何確定一個列是否存在於其他表中的SQL服務器數據庫中

  Server_ID, Server Property, Property_Value 
       65   Model   Cisco 123 
       65   Name   Cisco abc 

我需要這個表有列如下系統錶鏈接,

  System_ID, System_IP 
       1  10.20.30.40 

我搜索的數據庫中的所有表,但Server_ID列僅存在於Server _Data表中。此外,我搜索了所有表,如果存在一個鏈接System_ID與Server_ID的表,但沒有這樣的表。

我需要找到Server_ID列是否存在於任何其他名稱(如Server_Key或Key)的其他表中。任何幫助,將不勝感激。

+1

實際上並沒有什麼特別的技巧,你可以嘗試從sys.columns中按名稱查找,並嘗試用數據類型 –

+0

@JamesZ來限制它。感謝您的評論。有沒有辦法檢查Server_ID列中的數據是從其他表中取出還是從其他表中取出?我需要從這個數據被拉到Server_ID的地方找到根。 – Anky

+0

我認爲你必須掃描源代碼(存儲過程+你正在使用的任何其他東西),最有可能的事情是在SQL或數據庫外的其他代碼中完成的。 –

回答

0

只有使用SQL,沒有辦法在另一個表中找到相同的列,特別是如果它具有不同的名稱。我認爲你需要手動比較每個其他表中的每一列與該列以找到匹配。

0

如果我是你,我會通過運行下面的SP開始:

EXEC sp_fkeys 'Server_Data' 

這將告訴你,如果SERVER_ID列引用任何其他表在DB與否。

相關問題