ПредишенСледващото

Change Data Capture система регистрира операцията по вмъкване, актуализиране и изтриване, които се прилагат към масата на SQL Server. По този начин осигуряване на достъп до данните на тези промени е лесно да се справят с релационни формат. За информация относно колоните и метаданните, които се изисква да прилага промени в целевата среда, проследявани в модифицирани редове и се съхранява в климата таблици, които отразяват структурата на колоните на таблицата източник. За тези потребители систематично да имат достъп до информация за промените, предвидени в таблицата-ценен функция.

Един добър пример за потребителски данни, която е предназначена за тази технология приложение е да се извлече, трансформиране и зареждане (ETL). ETL приложения постепенно изтегляне на информация за промените от оригиналните таблици на SQL Server в склад или данни Mart на. Въпреки, че представителството на източника таблиците в склада за данни трябва да отразяват промените в тези таблици, използването на технология, която ще се актуализира от реплика на оригиналния таблицата не е подходящо в този случай. Вместо това, вие се нуждаете от надежден поток от данни за промените, структурирани по такъв начин, че потребителите могат да го прилагат към различни целеви представяне на данни. В SQL Server, тази технология дава улавяне промяна на данните.

Промените в системата за следене на данни е налична само в следните издания: Enterprise, разработчици и оценка на SQL Server.

Следващата фигура показва основния поток от данни към системата за събиране на данни на климата.

Източник на информация за промените на климата за улавяне на данни е дневник за SQL сделка Server. Както и в оригиналните проследяват маса вложки, актуализации и изтрива дневника се добавят записи, които описват промените. Списанието е процес за събиране на данни въвеждане на климата. Той чете регистрираните данни и добавя информация за промените в таблицата на промените, свързани с карането масата. Тя осигурява функции да се изброят промените, които се появяват в таблиците на промени в даден диапазон, както и да се върнат на информация под формата на филтриран набор резултат. Най-филтриран набор резултат обикновено се използва процес, за да се актуализира приложение източник представяне в околната среда.

Преди да можете да следите промените в отделни таблиците в базата данни, трябва изрично да активирате данните за промяна на системата в базата данни. Това може да стане чрез съхранена процедура sys.sp_cdc_enable_db. Когато е включен в базата данни таблици източници могат да бъдат идентифицирани като се следи с помощта на съхранена sys.sp_cdc_enable_table процедура. Ако таблицата включва улавяне промяна на данни, тя създава промени, свързани система за проследяване, например за разпространение на данни за промени в таблицата източник. система за проследяване се състои от копие от таблицата на климата и една или две функции за заявки. Метаданните подробно например системата за следене на подробности за конфигурирането се съхранява в таблици следите променените cdc.change_tables метаданни. cdc.index_columns и cdc.captured_columns. Тази информация може да бъде получена чрез използване на съхранени процедури sys.sp_cdc_help_change_data_capture.

Всички обекти, свързани с място на системата за проследяване, създадени в събиране на данни за промяна на схемата за активирана база данни. Името на системата за следене инстанция трябва да бъде валиден име на обекта, който е уникален за всички случаи на системата за следене на база данни. По подразбиране е името оригиналната таблица. свързаните с това промени В таблицата са посочени чрез добавяне на ключова дума в името на системата за проследяване. Например _CT Функцията, която се използва за заявки всички промени, посочени чрез добавяне на върха на системата за име например префикс fn_cdc_get_all_changes_ проследяване. Ако инстанция за проследяване система е конфигурирана да поддържа нетни промени. също създава заявка за функция net_changes. който се нарича с добавяне на върха на системата за име например префикс fn_cdc_get_net_changes_ проследяване.

Първите пет колони на промените в таблицата за улавяне промяна на данни са метаданни колони. Те предоставят допълнителна информация, свързана с откриваем промяната. Останалата част от колоните отразяват Идентифицирани проследяват източника колони по име и вид на масата. наблюдавани данни колони в таблицата източник, се съхраняват в тези колони.

Всяка операция вмъкване или заличаване, че се осъществява в оригиналната таблица, се записва като един ред в промените на масата. колони данни в един ред на отразяващи вложки, колони съдържат стойности след вмъкване. Колони данни линия на отразяващи операции за отстраняване на колони съдържат стойности преди изхвърляне. операция обновяване изисква един ред за стойности на графи преди актуализацията и на втория ред - за стойности на графи след актуализацията.

Всеки ред в таблицата съдържа промяна като допълнителна метаданни за тълкуване операция за смяна. колона __ $ start_lsn на идентифицира номера на журнална последователност в (броя LSN) лог свързан с промяната. LSN фиксиран брой определя как да се промени операции, които се провеждат в една сделка, както и реда на сделката. За да поръчате други промени в една и съща сделка, можете да използвате колона __ $ seqval. операция записва действието на колоната __ $ свързано с промяна 1 = делеция, вмъкване 2 = 3 = актуализация (позоваване на изображението) и 4 = подновяване (изображение след операцията). $ Update_mask В колона __ - променлива-битова маска, където всяка колона наблюдение съответства на най-малко. За поставяне на рекорд и премахването на всички битове в маската за актуализация винаги ще бъдат инсталирани. В линейни операции актуализации са инсталирани само битовете, съответстващи на променили колони.

Срокът на валидност на улавяне на промяна на данните за базата данни - този път, за които има налични данни за проследяване на промените екземпляра. Период на услугата започва със създаването на първата инстанция за таблица от база данни за проследяване и продължава до момента.

Данните, съхранявани в промените на маси ще растат извън контрол, ако не и системно и периодично да се съкрати на данните. данни промяна система за пречистване на процеса е отговорен за политиката принуден ясни данни след периода на задържане. На първо място, тя се движи по-ниската период крайна точка в съответствие с времевите ограничения. След това записва масата за промяна, която има срок на годност, изтрити изтекъл. По подразбиране, тези данни се съхраняват в продължение на три дни.

В горния край на точка като процесът на запис улавя всеки нов пакет от информация за промените и се добавят нови записи на cdc.lsn_time_mapping за всяка транзакция, за която има записи в промените на масата. сравнения Таблица съхраняват редица регистрацията на сделката в регистъра на операциите и фиксиране (колони start_lsn и съответно tran_end_time). Максималната стойност на LSN намерени в cdc.lsn_time_mapping. Той представлява висока крайна точка период от време. Нейната съответния заключване време се използва като база, от която стойност почистване данните за срок на годност изчислява нова стойност по-ниска крайна точка.

Тъй като процесът на запис извлича информация за промени от регистъра на операциите, съществува естествено забавяне между времето, когато промяната се записва в таблицата източник, както и времето, когато промяната се вписва в свързаните с това промени в таблицата. Въпреки, че това забавяне е типично малък, че е важно да се помни, че информацията за промените не е на разположение, докато процесът на снимане е обработил свързаните записи в регистъра.

Въпреки че обикновено сроковете на валидност на базата данни, както и един-единствен екземпляр на една и съща писта, понякога не е така. Действия например период започва, когато проследяване на процеса на проследяване открива проследяване инстанция и започва да записва свързаните с това промени в таблицата с климата. В резултат на това, ако пистата е инстанция по различно време, като всеки ще има по-ниска крайна точка. Start_lsn колона в масива от резултат, който се връща от sys.sp_cdc_help_change_data_capture. Това показва текущото ниска крайна точка за всеки конкретен проследяване инстанция. Когато процесът на почистване почиства променя рекорд маса, той коригира start_lsn стойности за всички случаи на проследяване, за да отрази новата ниска крайна точка за всеки наличен набор от информация относно промените. Коригирани само тези случаи на проследяване на текущите стойности start_lsn което е по-малко от новия по-ниска крайна точка. С течение на времето, ако не се създадат нови случаи на проследяване, сроковете на валидност за всички отделни случаи постепенно съвпадат с периода на валидност на базата данни.

Валидност на данни е важно за потребителите на промени, тъй като възстановяването на интервал за това искане трябва да се покрива изцяло от срока на валидност на променената система за проследяване на данни за проследяване на случая. Ако долната крайна точка извличане интервал припокрива долната периода крайна точка, възможна загуба на информация за промени, дължащи се твърде агресивно почистване. Ако горния интервал извличане на крайната точка се припокрива горната крайна точка на срока на валидност, при проследяване не разполага с време за обработка на данните в интервал от време, представено чрез възстановяване, обаче също е възможно загуба на информация за промените.

sys.fn_cdc_get_min_lsn функция се използва за получаване на сегашните минимални числа LSN например проследяване и sys.fn_cdc_get_max_lsn функция се използва за получаване на настоящите максималните стойности LSN. Функциите на заявката за промяна улавяне на данни ще се провалят, когато иска данни за промени, ако е посочено LSN гама от стаи, ще отиде отвъд тези две стойности LSN номера.

промени Обработка на колоните със проследяват маси източници - доста труден въпрос за потребителите на потока данни. Докато включването на улавяне промяна на данните в таблицата източник не пречи на този вид система за проследяване на DDL-промяна помага за намаляване на въздействието им върху потребителите, поради неизменността на комплектите с резултати, които се връщат от API-интерфейс, дори и в основата на първоначалните промени структурата на таблиците. Структурата на дълготрайните колоните е отразено и в свързаните с тях промени в таблици, които са достъпни чрез функцията за търсене.

За да подкрепи промените маса, с фиксирана структура на колоната, при проследяване, който е отговорен за извършване промени в таблицата, не отчита нови, неспецифични за проследяване на колони, ако таблицата източник е разрешена промяна събиране на данни. Ако проследяват колона се отстранява, промени в съответните вписвания показва нула стойност. Но ако съществуващ тип колона се промени, тази промяна се отразява в промените на масата, за да се предотврати загуба на данни в наблюдаваните колони. Процесът също изпраща проследяване на всички промени в структурата проследяват маса колоните в cdc.ddl_history маса. Потребителите, които искат да получат предупреждение за корекциите, които може да се наложи да се направи в прилагането на приемане, като се използва съхранена процедура sys.sp_cdc_get_ddl_history.

Като правило, сегашното проследяване например продължава да поддържа формата си, след като промените се прилагат към съответната таблица DDL източник. Въпреки това, за една маса, която да отразява новата структура на колоните, можете да създадете второ копие на пистата. Това позволява на процеса, за да се възпроизведе проследяване на промените промени в звука маса източник в две таблици с колони с различна структура. По този начин, докато една маса промяна ще предоставят данни в настоящите производствени приложения, вторият ще служи като източник на данни за развитие на околната среда, домакин на новите данни колона. Разрешаването на проследяването означава едновременно напълни маси промени, можете да направите прехода от един формат в друг, без загуба на информация. Това може да се случи, когато няма да има припокриване на времеви скали на двете системи се променят събиране на данни. След приключване на прехода на остарялата копие на пистата може да бъде отстранен.

На таблицата източник един в същото време може да се дължи на две инстанции за проследяване.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!