У нас вы можете посмотреть бесплатно MSSQL — Понимание уровня изоляции на примере (Читать некоммитировано) или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Примеры SQL-выражений, использованных в видео, можно скопировать и вставить для уровня изоляции транзакций: сериализуемый, зафиксированное чтение, незафиксированное чтение, повторяющееся чтение. --============================================ -- Окно/Сеанс №1 --=========================================== IF EXISTS (SELECT 1 FROM sys.tables WHERE name = 'SampleTable') DROP TABLE SampleTable CREATE TABLE [SampleTable] ( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [varchar](100) NULL, [Value] [varchar](100) NULL, [ДатаИзменения] [дата-время] NULL, ОГРАНИЧЕНИЕ [PK_SampleTable] ПЕРВИЧНЫЙ КЛЮЧ КЛАСТЕРИЗОВАН ([Id] ASC) ) ВСТАВИТЬ В SampleTable(Имя, Значение) ВЫБРАТЬ 'Имя1', 'Значение1' ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 'Имя2', 'Значение2' ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 'Имя3', 'Значение3' ВЫБРАТЬ * ИЗ SampleTable НАЧАТЬ ПЕРЕХОД ВСТАВИТЬ В SampleTable(Имя, Значение) VALUES('Имя4', 'Значение4') --UPDATE SampleTable SET Имя = Имя + Имя --UPDATE SampleTable SET Имя = Имя + Имя WHERE Имя = 'Имя1' ОБЪЕДИНИТЬ SampleTable SET Имя = Имя + Имя WHERE ID = 1 ЗАДЕРЖКА ОЖИДАНИЯ '00:02:00' ОТКАТ --========================================== -- Окно/Сеанс №2 --=========================================== --------------------------------------------------- -- Это окно/сеанс по умолчанию имеет статус READ COMMITTED -- ---------------------------------------------------- SELECT * FROM SampleTable SELECT * FROM SampleTable WITH (NOLOCK) SELECT * FROM SampleTable WHERE ID = 3 SELECT * FROM SampleTable WHERE Name = 'Name2' SELECT b.name, c.name, a.* FROM sys.dm_tran_locks a INNER JOIN sys.databases b ON a.resource_database_id = database_id INNER JOIN sys.objects c ON a.resource_related_entity_id = object_id --=========================================== -- Окно/Сеанс №3 --=========================================== ------------------------------------------------------ -- Это окно/сеанс по умолчанию READ UNCOMMITTED -- ------------------------------------------------------ SET TRANSACTION LEVEL READ UNCOMMITTED SELECT * FROM SampleTable SELECT * FROM SampleTable SELECT * FROM SampleTable WHERE ID = 2 SELECT * FROM SampleTable WHERE Name = 'Name2' SELECT * FROM SampleTable WITH (NOLOCK)