SSIS Isolasjonsnivåer

SQL Server Integration Services (SSIS) tillate brukere å overføre ulike typer data fra forskjellige og ulike databasesystemer spredt rundt et nettverk. SSIS styrer data oversettelser, databord populasjoner, og database tilkobling for brukeren. SSIS håndterer data i tabeller og kolonner under dataoverføring, og dermed gir brukeren å automatisere datamanipulasjon og konvertering. Som med databaser, transaksjoner i en SSIS dataoverføring følge visse regler for å garantere dataintegritet. Disse kalles isolasjonsnivåer.

Les uengasjert

Den første og mest ubeskyttet isolasjonsnivå er "Les uengasjert" nivå. På dette nivået, er ingen data nås i løpet av en transaksjon "låst", eller beskyttet fra utsiden manipulasjon. En transaksjon på Les uengasjert nivå tilbyr ingen garantier for integriteten av dataene som er involvert. Siden Les uengasjert transaksjonen ikke låse data som benyttes, kan en annen transaksjon endre dataene, mens den første transaksjonen fortsatt krever det i sin opprinnelige form.

Les Committed

På "Les Committed" nivå, begrenser en transaksjon tilgang til dataene den i dag krever. Transaksjoner merket som Les Committed bare lese informasjon etter "låse" data fra andre transaksjoner. Denne "låse" hindrer en andre transaksjon fra å endre dataene. Dette sikrer at data ikke vil endres mens den opprinnelige transaksjonen utfører andre operations.Once den opprinnelige transaksjonen slo dataene, så slipper det i låsen, slik at andre transaksjoner for å arbeide med dataene.

Gjentakende lesing

Den "Gjentakende lesing" isolasjonsnivå serverer en lignende funksjon til Les Forpliktet nivå, med en ekstra funksjon. Dette nivået tvinger transaksjoner for å låse data for helheten av transaksjonen, og for å åpne låsen etter at transaksjonen er fullført. Ferdige transaksjoner er utpekt som "forpliktet", som betyr at transaksjonen er ferdig på riktig måte og er forpliktet sine endringer i databasen. Avbrutt transaksjoner blir referert til som "rullet tilbake", som betyr at transaksjonen ble ikke ferdig, og dermed kansellert alle endringer. Dette sikrer et høyere nivå av dataintegritet, fordi den opprinnelige transaksjonen må enten fullføre helt eller angre alle endringer før du slipper sin lås.

Serializeable

"Serializeable" transaksjoner er langt de strengeste isolasjonsnivåer, og den mest beskyttende. Låsene anskaffet for dette nivået kraft transaksjoner for å oppføre seg på en serie måte. Dette betyr at diskrete transaksjoner som ikke kan forekomme samtidig. Dette resulterer i et tap av programmatical multitasking for å garantere databeskyttelse. På dette nivået, kan to transaksjoner ikke endre de samme dataene, fordi to transaksjoner ikke kan skje samtidig. Dette nivået sikrer at to transaksjoner ikke vil endre data som brukes av den andre, men på grunn av dette, kan du ikke ha nytte av flere transaksjoner skjer samtidig.