如何查看SQL 2000数据库中的最近关系更改

时间:2009-02-05 14:21:16

标签: sql-server

我有一个SQL Server 2000数据库,在特定的时间范围内有很多PK / FK关系变化。有什么方法可以检索所有关系更改或添加到数据库吗?

我尝试了这个返回所有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之后完成的任何事情。然而事实并非如此,它似乎不按任何顺序编写constid。

2 个答案:

答案 0 :(得分:3)

不,除非你有某个副本和Redgate的比较工具。

答案 1 :(得分:1)

除非你做一些特殊的日志记录,使用触发器,以便在创建,更改或删除关系时,没有自动获取最近关系更改列表的方法。