2010-04-21 60 views

回答

0

如果你不能;

  1. 修改數據庫以添加時間戳列。
  2. 添加另一個表,它作爲一個審計日誌,從觸發飼餵原表

然後,你需要編寫,在每天結束時,表中問題比較的SSIS包到表格的副本(前一天你拿的)。然後,您可以在新的審計表中記錄任何差異。

0

沒有這是不可能的。 您需要通過將日期字段添加到表的結構來跟蹤該情況。 我們不能照你說的去做。

2

,如果你被允許使用觸發器和添加額外的跟蹤表(同時保留現有的表結構不變)

很明顯,你將無法找出已經改變了,但是這將使你有可能提出一個解決方案來追蹤一旦實施後發生的變化。

如果這是有用的,那麼讓我知道,我可以給你更多的細節。

+0

thanx您的建議。但我們不使用任何種類的觸發器是否還有其他場景可以做到這一點? – kumar 2010-04-21 10:41:05

+1

在這種情況下,你不可能做你想做的事情,你不能幻想無數的數據。如果你在SQL 2008中,你可能能夠啓用更改跟蹤功能,但這是對此的最後一絲希望。 – 2010-04-21 11:03:28

+0

我不能在空中魔法數據。但我會嘗試。在這種情況下,是否可以使用getDate()或sys.objetcs或@@ IDENTITY從表中獲取最近一個月更新的記錄,我可以使用它們還是全部? – kumar 2010-04-21 12:20:32

1

如果您使用的是SQL Server 2008(或者有能力升級),那麼您可以看看如何使用Change Data Capture來跟蹤對錶格所做的更改。此解決方案不會涉及更改現有表,但是您將進行數據庫級更改。

如果升級到2008不是一個選項,您可以創建一組更改跟蹤表並使用觸發器在進行更新時對其進行維護。

0

查詢該表是不可能的。

您可以通過驗證Oracle中的事務日誌來獲取該記錄。但我不確定在Sql Serevr。