2009-02-05 52 views
3

我有一個SQL Server 2000數據庫,在特定時間範圍內有很多PK/FK關係更改。有什麼方法可以檢索所有關係更改或添加到數據庫?如何查看SQL 2000數據庫中最近的關係更改

我試過這個查詢,它返回所有的ForeignKeys。

SELECT f.constid, OBJECT_NAME(f.fkeyid) AS 'FKTable', c1.[name] AS 'FKColumnName', OBJECT_NAME(f.rkeyid) AS 'PKTable', c2.[name] AS 'PKColumnName' 
FROM sysforeignkeys f 
INNER JOIN syscolumns c1 
ON f.fkeyid = c1.[id] 
AND f.fkey = c1.colid 
INNER JOIN syscolumns c2 
ON f.rkeyid = c2.[id] 
AND f.rkey = c2.colid 
ORDER BY constid 
GO 

我希望在constid場將是連續的,所以我可以只找什麼,這是一個特定的constid後進行。然而,情況並非如此,它似乎並沒有按照任何順序編寫。

回答

3

不,除非你有一個副本和一個像Redgate的比較工具。

1

除非您做了一些特殊的日誌記錄,使用觸發器以便在創建,更改或刪除關係時,沒有自動獲取最近關係更改列表的方法。

+0

只有在2005年及以後,才能在SQl Server 2000中執行此操作。 – HLGEM 2009-02-05 15:38:25