Транзакциялар және құлыпталу


Презентация қосу



Транзакциялар және
құлыпталу.

Орындаған: Қусманов А.Қ
АУ-301
Тексерген: Мухаметов Е.М.
1. Транзакция – бұл Transact-SQL командасының
реттелген жиынтығы. Бүтіндей орындалатын
қисынды аяқталу блогы. Транзакцияда командалар
саны шектелмеген және ол әрі қарай жұмыс істей
береді. Тек транзакцияны итергенде ғана
орындалмайды. Мұндай жағдайда жүйе қалпына
келтіріліп барып, басынан бастап жұмыс
жасалады. Жүйенің алғашқы қалпы туралы
мәлімет транзакцияның журналында сақталған.
Транзакцияға қосылған командалар жиыны келесі
міндетті қанағаттандыру қажет:
1. атомарность – транзакцияға қосылған командалар блогы
тек тұтастай ғана орындалады немесе орындалмайды ;
2. келісім – транзакция орындалып болғаннан кейін, барлы қ
мәліметтер келісім қалпында болу керек ;
3. шектеу – орындалып жатқан транзакцияны ң мәліметтерін
өзгерту басқа транзакциялардың өзгеруіне қатысты болмайды,
яғни әр түрлі өзгерістегі транзакцияларға шектеу қойылады.
Транзакция мәліметтерді жұмысты бастамас б ұрын қарайды
немесе жұмыс аяқталғаннансоң көреді. Бір транзакция бас қа
транзакцияның өзгерткен мәліметін к өрмейді.
4. Тұрақтылық - транзакция аяқталғаннан кейін, ж үйеде
сақталынады және оны қайтадан қалыпқа келтіре алмайсы ң.
Құлыпталу (блокировка) – бұл уақытша жанама
шектеу. Құлыптау кестенің бір жолына ғана салынуы
мүмкін. Құлыптауды басқарумен оның менеджері
айналысады. Транзакция жұмыс жасап жатқан кезде
ол автоматты түрде қосылып тұрады және керек
кезде зонаның көлемін кеңейтеді. Бір мезгілде бір
мәліметке бірнеше қолданушылар үшін, келесі төрт
мәселе қаралады:
. Транзакциялармен басқару
SQL Server үш басқару транзакцияларымен қамтылады: аны қ, автоматты ж әне
ұқсас.
Анық транзакциялар қолданушыларды ң транзакцияны ң басы мен ая ғын аны қ
көрсеткенін қажет етеді. Transact SQL командасын орындау ар қылы. Аны қ
транзакцияларды басқару мына командалар т үрінде қолданылады:
BEGIN TRAN[SACTION] [<транзакция аты>]
@ <ауыстыру аты>
<транзакция аты> деген жерде транзакция аты қолданылады, <ауыстыру аты> ауыстыру
атын береді. Бір код қолдана отырып бірнеше транзакцияны жасау ға болады.
COMMIT [WORK]
COMMIT [TRAN[SACTION] [<транзакция аты >]
@ <ауыстыру аты>
Транзакцияның аяғы, егер транзакция денесінде қате болмаса, онда ол команда
барлық өзгерістерді серверге тіркейді. Транзакцияда істелінген барлы қ ж ұмыстар оны ң
журналында сақталады.
ROLLBACK [WORK]
ROLLBACK [TRAN[SACTION] [<транзакция аты >]
@ <ауыстыру аты>
Автоматтық транзакция SQL Serverінде үнсіз қойылымда
орнатылады. Бұл режимде әр команда жеке транзакция ретінде
қаралады, яғни команда дұрыс аяқталса онда оның өзгерістері
тіркеледі, кері жағдайда жүйе алғашқ6ы қалпына келеді.
Транзакция тапсырмасы анық режимі бір бүтін команда бірнеше
рет қолданылады. Автоматты және анық емес басталу
транзакциясы негізге режимі болып табылады және сервер осы
режимдердің біреуінде болады. Анық басталу транзакция режимі
басқа екі режим үстімен жұмыс істейді. Автоматты басталу
транзакциясының орнату үшін Transact-SQL команда тілі
орындалады:
Құлыптауларды басқару.
Орнату туралы барлық жұмыстарды арнайы серверде
анықталған менеджермен анықталады. Транзакциялармен
автоматты режим түрінде үнсіз қойылым типі түріндегі
жұмысты жасайды. Бұл жағдайда қандай құлып керек екенін
анық көрсетуге болады.Транзакцияны орындаудың алдында
сәйкес келетін құлыптау сұралады. Бұны менеджер шешеді.
Кейде, егер керекті ресурс құлыптау менеджерімен бос
болмаса, онда сұранысты тоқтатады немесе оны кезекке қояды
және оны орындайды.Осыдан кейін ғана қажет етілген ресурс
құлыптаудан босатылады. Ресурстың құлыптауынан босауды
күту уақыты анық келесі командалармен орындалады:
SET LOCK_TIME OUT <уақыт>
Уақыт деген жерде миллисекунд саны беріледі, ол ресурстың
құлыптауынан босауды күту уақытында.
Қолданушы барынша тез орындалатын доступқа ие
бола алады. Кейде басқа қолданушылар кестенің берілгеніне
қол жеткізе алмайды, себебі транзакция әлі аяқталып болған
жоқ.
SQL Server келесі құлыптаулардың түрлерін береді:
RID – жол деңгейіндегі құлыптау;
KEY – индекс деңгейіндегі құлыптау, мәліметтер
транзакциясындағы өзгерістерге сәйкес келеді;
PAGE – бет деңгейіндегі құлыптау;
EXTERN –extern(а) деңгейіндегі құлыптау;
Table – кесте деңгейіндегі құлыптау;
DB – мәліметтер базасы деңгейіндегі құлыптау.



Пәндер

Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор №1 болып табылады.

Байланыс

Qazaqstan
Phone: 777 614 50 20
WhatsApp: 777 614 50 20
Email: info@stud.kz
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь