我只能回答,2005年,儘管這可能會給你足夠的指示於2000年的信息不可用,只要我通過DMV的所知,來獲得這些信息您需要使用專用管理控制檯(DAC)。
使用DAC連接可以在sys.sysrowsetsolumns中找到表列 - 如果將其過濾到對象的單個rowsetid/hobtid中,您可以看到列,並且有兩個字段需要註明status和rowsetcolid。
作爲一個測試用例,我在刪除列之前和之後輸出兩次查詢的值。
select * from sys.sysrowsetcolumns where rowsetid = 72057594038845440
ALTER TABLE dbo.foo DROP COLUMN test2
select * from sys.sysrowsetcolumns where rowsetid = 72057594038845440
產量
rowsetid rowsetcolid hobtcolid status rcmodified maxinrowlen
72057594038845440 1 1 0 0 4
72057594038845440 2 2 0 0 4
72057594038845440 3 3 0 0 4
72057594038845440 4 4 0 0 4
rowsetid rowsetcolid hobtcolid status rcmodified maxinrowlen
72057594038845440 1 1 0 0 4
72057594038845440 2 2 0 0 4
72057594038845440 4 4 0 0 4
72057594038845440 65536 3 2 0 4
測試一度下探列3,你可以看到hobtcolid 3已經改變了狀態,以2和rowsetcolid已設置爲65536什麼狀態和ID的意思是我只能從所採取的行動中推斷。
附錄:不要通過DAC在系統表中編輯任何數據 - 非常危險。
heres使用dbcc命令轉儲記錄。 00000000:10001800 01000000 02000000 03000000†................ 00000010:04000000 05000000 0500e0††††††††††††...... ..... 插槽0列0偏移爲0x4長度4 Col1中= 1分 插槽0列1偏移0x8中持續4 DROPPED = 2 插槽0第2列偏移位於0xC長度4 COL3 = 3 插槽0列3偏移量0x10長度4 Col4 = 4 插槽0第4列偏移0x14的長度4 COL5 = 5 在這裏你可以看到,COL2被標記爲「下降」 那裏是那裏是COL2被刪除的信息存儲在一個地方。 謝謝。 – jude 2010-01-04 11:23:40