2012-02-25 82 views
1

是否有可能修改表的表的創建日期?我們在右擊table > properties > Created datesys.tables.create_date時看到的日期。修改表的創建日期

即使創建了表個月前,我希望它看起來像他們今天被創造。

+3

你爲什麼要這麼做? – Mat 2012-02-25 16:54:03

+0

愚弄我的大學,相信我已經從零開始創建數據庫......以及他們檢查日期等等,不想再次構建完整的數據庫 – Ketan 2012-02-25 17:42:01

回答

1

不超過你可以改變你的生日,你爲什麼會想?

你可以只

select * into #tmp from [tablename] 
drop table [tablename] 
select * into [tablename] from #tmp 

這將重建表和保護結構(一個點)。您可以編寫一個新表格,複製數據然後刪除和重命名。如上。

+0

我喜歡生日類比。和一些可能工作(只要他們想改變它到今天) – 2012-02-25 17:24:57

+0

+1謝謝你,我用的腳本:) – Ketan 2012-02-25 17:43:04

+0

沒問題,你的歡迎。 – 2012-02-25 17:47:02

1

在SQL Server 2000中,您可以通過黑客與sp_configure選項的系統表做到這一點「允許更新」設置爲1

這是不可能在SQL Server 2005及以上。從聯機叢書:

此選項仍然存在於sp_configure存儲過程, 雖然它的功能是在Microsoft SQL Server 2005 (設置不起作用)不可用。在SQL Server 2005中,不支持對 系統表的直接更新。

在2005年,我相信你可以通過使用dedicated administrator connection「遊戲系統」,但我認爲這是RTM後不久固定(或它需要一個跟蹤標誌或其他一些無證設置工作)。即使使用DAC,並設置爲1 sp_configure選項,兩個SQL Server 2005的SP4和SQL Server 2008 R2 SP1的產量嘗試這樣的:

Msg 259, Level 16, State 1 
Ad hoc updates to system catalogs are not allowed. 

你是誰試圖愚弄,爲什麼?

編輯

現在,我們對爲什麼,你可以創建一個不依附於任何域的虛擬機,將時光倒流到任何你想要的日期,創建一個數據庫,創造出更多的信息您的對象,備份數據庫,將其複製到主機,並將其恢復。這些對象的create_date仍然應該反映早期的日期,儘管數據庫本身可能不(我沒有測試過)。

您可以通過改變時鐘撥回到自己的系統上做到這一點,但我不知道如果我想用我的時鐘一塌糊塗這種方式已經安裝了SQL Server之後以及在什麼會已創建對象在短時間內成爲「未來」。 VM對我來說絕對看起來更安全。

+0

我的教授當然是因爲我懶惰而拖延;) – Ketan 2012-02-25 17:43:44

+0

呵呵,我想我誤解了。你希望教授認爲你今天創建了數據庫,而不是你一直在研究它。我會留下修改後的答案,以防萬一有人想讓他們的表看起來像老*而不是*更新*。 – 2012-02-25 17:51:15

相關問題