[英]How can i track any changes to Database table
我有 2 個應用程序,一個用於添加到數據庫中,另一個用於查看數據庫中的任何更改,
我如何跟蹤數據庫中的任何更改(新記錄,現有記錄的更改,刪除),是否有類似系統觀察者的類來觀察數據庫表?
我搜索並找到了 SQL Dependency Class,但我不知道它是否適合我的場景。
提前致謝,
您可以使用觸發器來檢查在您的實例中執行的 INSERT、UPDATE 或 DELETE 查詢。
此外,SQL Server 有一個很棒的工具SQL Server Profiler 。 您可以使用它連接到您的實例並偵聽每個查詢和操作。
這個SO問題也許可以幫助你。
使用開源類SqlDependencyEx 。 配置和使用非常簡單:
int changesReceived = 0;
using (SqlDependencyEx sqlDependency = new SqlDependencyEx(
TEST_CONNECTION_STRING, TEST_DATABASE_NAME, TEST_TABLE_NAME))
{
sqlDependency.TableChanged += (o, e) => changesReceived++;
sqlDependency.Start();
// Make table changes.
MakeTableInsertDeleteChanges(changesCount);
// Wait a little bit to receive all changes.
Thread.Sleep(1000);
}
Assert.AreEqual(changesCount, changesReceived);
希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.