簡體   English   中英

在 BCP 導入表上跟蹤 SQL 服務器中的更改

[英]Tracking changes in SQL Server on a BCP Imported Table

我使用 BCP 上傳了 Excel 文件。 (每天從 excel 文件中截斷 DB 中的當前表並 BCP 以重新填充表)。 記錄對行所做的所有更改(可能是行添加或當前行列中的更改)對我來說很重要。 這個想法是記錄所有所做的更改。

我在網上看了幾篇文章,我們可以在其中創建一個日志表和觸發器(不知道怎么做)。 具有如下列的日志表

Date | Field | Old Value | New Value.  

首先,如何做到這一點?

其次,什么是不記錄表截斷而只記錄實際更改的更聰明的方法。 我正在考慮創建一個臨時表 (tbl_Excefile_Temp),我將在其中導入文件,然后從 tbl_Excefile_Temp 更新當前表 (tbl_Excefile) 這樣,在當前表中所做的所有更改都將自動記錄在日志表中。

我知道這是一個很大的用例,請您指導。

如果您使用的是 SQL 服務器 2016 或更高版本,我建議您查看臨時表。 如果您停止截斷並使用合並語句,您就有一種非常簡單的方法來保存日志。 每當您進行更改 SQL 服務器將寫入舊值並添加舊行有效時的日期時間。

使用時態表,您可以在特定日期時間查詢您的表。 在常規使用中,與非臨時表沒有區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM