SQL серверинде бөгөт коюуга эмне себеп болот?
SQL серверинде бөгөт коюуга эмне себеп болот?

Video: SQL серверинде бөгөт коюуга эмне себеп болот?

Video: SQL серверинде бөгөт коюуга эмне себеп болот?
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Ноябрь
Anonim

Күйүк SQL Server , бөгөт коюу бир SPID белгилүү бир ресурста кулпуну кармап турганда жана экинчи SPID ошол эле ресурста карама-каршы келген кулпу түрүн алууга аракет кылганда пайда болот. Эреже катары, биринчи SPID ресурсту бекиткен убакыт алкагы өтө аз.

Демек, SQL Serverдеги блокту кантип жок кылса болот?

Өлтүрүү а Бөгөттөө Өлтүрүү процесси а бөгөт коюу Бул ыкманы колдонуу менен процессти ачыңыз SQL Server Management Studio жана туташуу сиздин SQL Server мисал. Туташкандан кийин, инстанциянын атын оң баскыч менен чыкылдатып, менюдан "Активдүүлүк мониторингин" тандаңыз. Activity Monitor жүктөлгөндөн кийин, "Процесстер" бөлүмүн кеңейтиңиз.

Ошондой эле, эмне тоскоол болуп жатат жана аны кантип чечмексиз? Бөгөттөө эки же андан көп катар болгондо пайда болот болуп саналат бир SQL туташуусу менен кулпуланган жана SQL серверине экинчи туташуу ошол саптарда карама-каршы келген кулпуну талап кылат. Бул биринчи кулпу бошотулганга чейин күтүү үчүн экинчи туташууга алып келет.

Андан тышкары, SQL серверинде бөгөттөө жана бөгөттөө деген эмне?

Кулпулоо механизми болуп саналат SQL Server транзакциялар учурунда маалыматтардын бүтүндүгүн коргоо үчүн колдонот. Блок . Блок (же бөгөт коюу ) эки процесс бир эле учурда бир эле маалыматка жетүү керек болгондо пайда болот, ошондуктан бир процесс кулпулар маалымат, экинчиси экинчиси аягына чыгып, бошотушун күтүшү керек кулпу.

Тандалган билдирүү бөгөт коюуга алып келиши мүмкүнбү?

SELECT бөгөттөй алат жаңыртуулар. Туура иштелип чыккан маалымат модели жана суроо берет гана себеп минималдуу бөгөт коюу жана маселе болбойт. NOLOCK WITH "кадимки" дээрлик дайыма туура эмес жооп. Туура жооп - өзүңүздү тууралоо суроо ошондуктан ал чоң үстөлдөрдү сканерлебейт.

Сунушталууда: