パーティションのアーカイブや変更を特定する話ではありません。大規模なテーブルを分割するために使用されます。
SQL Serverは、変更された行の主キーを追跡するために、すべてのエディションに変更をChange Trackingを提供しています理由とオプションで、変更された列の値t特定のデータベースバージョン以降に変更されたハット。
これは、テーブルを変更する必要のない安価なプロセスです。変更された行を識別するために必要な最小限の情報を記録します。例えば、変更された行を引き出し、あなたが最後のチェック以降に変更のPKを引いて、変更された行を引っ張ってソース表と結合しCHANGETABLE
機能を使用するには:
SELECT
CT.ProductID,
P.Name, P.ListPrice,
CT.SYS_CHANGE_OPERATION, CT.SYS_CHANGE_COLUMNS,
CT.SYS_CHANGE_CONTEXT
FROM
SalesLT.Product AS P
RIGHT OUTER JOIN
CHANGETABLE(CHANGES SalesLT.Product, @last_synchronization_version) AS CT
ON
P.ProductID = CT.ProductID
をCT.SYS_CHANGE_OPERATION
戻っI、U、Dによって行が挿入、更新、または削除されたかどうか。
もう1つの方法は、レコード全体をキャプチャするChange Data Captureです。 SQL Server 2016 SP1以前は、Enterprise Editionでのみ使用できました。また、より重いプロセスですが、変更されていないデータをロードするためにソース表と結合する必要はありません。
CDC、パーティション化、メモリ内テーブル、圧縮および列ストアなど、以前はエンタープライズ版でしか使用できなかったSQL Server 2016 SP1の機能は、ExpressおよびLocalDBでも使用できるようになりました。
パーティション分割は、変更またはアーカイブの識別とは関係ありません。 SQL Serverには既に変更追跡が用意されており、すべてのエディションで利用できます。列を追加する必要はありません。データベースとテーブルレベルで変更の追跡を有効にするだけです。 Enteprise版は、Change Data Captureもサポートしています。 –
CDCはSQL 2008 R2の標準版では使用できません。残念ながら、私の顧客はスタンダードエディション –
を使用しています。私はCDCではなく変更トラッキングを書いています。変更追跡はエクスプレス –