Практическая лабораторная работа №1



жүктеу 3,23 Mb.
Pdf просмотр
бет378/407
Дата11.01.2022
өлшемі3,23 Mb.
#32311
1   ...   374   375   376   377   378   379   380   381   ...   407
ignat eva o.v. prikladnoe programmirovanie i bazy dannykh. dlia prakt

ALTER TABLE, 
CREATE,  
DELETE,  
DROP, 
FETCH,  
GRANT,  
INSERT,  
OPEN,  
REVOKE, 
 SELECT,  
TRANCATE 
TABLE и UPDATE;  
в  этом  режиме  можно  использовать  команды  COMMIT  и  ROLLBACK;  после 
завершения текущей транзакции, начинается выполнение следующей, если не был задан 
откат транзакции. 
Режим  автоматического  начала  транзакций  устанавливается  по  умолчанию  или 
командой. 
SET IMPLICIT – TRANSACTION OFF 
Режим  неявного  (или  подразумевающегося)  начала  транзакций  задается  только 
командой 
SET IMPLICIT – TRANSACTION ON.
 
Когда в запросах используются разные базы данных, даже если они расположены 
на  одном  физическом  сервере,  необходимо  использовать  распределенные  транзакции, 
которые  на  самом  деле  представляют  собой  несколько  отдельных  транзакций, 
выполняемых  локально  в  каждой  базе  данных,  используемой  в  запросе.  Если  при  этом 
одна  из  локальных  транзакций  не  выполняется,  то  происходит  откат  распределенной 
транзакции. 
Для  управления  распределенными  транзакциями  в  MS  SQL  Server  2000 
используется  координатор  DTC  (Distribution  Transaction  Coordinator),  удовлетворяющий 
спецификации  “X/OPUN  XA  for  Distributed  Transaction  Processing”.  Координатор  MS 
DTC  начинает  и  заканчивает  локальные  транзакции,  а  также  откатывает  их  назад,  если 
одна  из  них  закончилась  с  ошибкой.  При  выполнении  распределенных  транзакций 
пользователь  может  обращаться  не  только  к  серверам  SQL  Server,  но  и  к  другим 
источникам данных: Oracle, Access, источники ODBC и другие. 
Для клиентского приложения работа с определенными транзакциями практически 
ничем  не  отличается  от  работы  с  локальными  транзакциями,  так  как  все  согласование 
транзакций в различных источниках данных выполняется автоматически и невидимо для 
пользователя. 


 
 
182 
Распределенная транзакция может быть начата несколькими способами. 
1.  Если  приложение  в  локальной  транзакции  использует  распределенный  запрос, 
то сервер автоматически начинает выполнение распределенной транзакции. 
2.  Если  приложение  начинает  локальную  транзакцию  и  из  нее  вызывает 
удаленную 
хранимую 
процедуру 
при 
установленном 
параметре 
REMOTE_PROC_TRANSACTION,  то  эта  транзакция  автоматически  расширяется  до 
распределенной транзакции (см.sp_configure). 
3. Приложение может начать распределенную транзакцию, используя методы OLE 
DB или ODBC. 
4.  Сервер  начинает  выполнение  распределенной  транзакции,  если  встречает 
команду BEGIN DISTRIBUTED TRANSACTION Имя транзакции. 
 
В  этом  случае  для  завершения  и  отката  транзакций  используются  команды 
COMMIT TRANSACTION и ROLLBACK TRANSACTION. 
При  работе  с  явными  транзакциями  можно  использовать  вложенные  транзакции, 
выполнение  которых  инициируется  из  тела  уже  активной  транзакции.  Для  управления 
вложенными  транзакциями  используются  те  же  команды,  при  этом  каждая  команда 
COMMIT  работает  только  с  последней  начатой  транзакцией.  Если  в  команде 
ROLLBACK  не  задано  имя  транзакции,  то  откатываются  все  вложенные  транзакции  и 
транзакция самого высокого уровня. 
Если  же  имеется  необходимость  откатить  лишь  часть  транзакций,  то 
предварительно  надо  создать  точку  сохранения  с  помощью  команды  SAVE 
TRANSACTION,  которую  следует  указывать  при  откате.  Функция  @@TRANSACTION 
предназначена  для  определения  количества  активных  транзакций,  начатых  в  активном 
соединении. 
Во всех транзакциях нельзя использовать следующие команды:  

жүктеу 3,23 Mb.

Достарыңызбен бөлісу:
1   ...   374   375   376   377   378   379   380   381   ...   407




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау