新聞中心
以下的文章主要描述的是常見(jiàn)的SQL Server阻塞情形,在實(shí)際操作中SQL Server阻塞是經(jīng)常出現(xiàn)的,那么它們會(huì)以什么形式出現(xiàn)的呢?以下的文章主要就是針對(duì)這一問(wèn)題給出的答案,以下就是主要內(nèi)容描述。

信宜網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,信宜網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為信宜超過(guò)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的信宜做網(wǎng)站的公司定做!
1 .提交執(zhí)行時(shí)間長(zhǎng)的查詢。
長(zhǎng)時(shí)間運(yùn)行的查詢會(huì)阻塞其它查詢。例如,影響很多行的 DELETE 或 UPDATE
操作能獲取很多鎖,這些鎖不論是否升級(jí)到表鎖都阻塞其它查詢。因此,一般不要將長(zhǎng)時(shí)間運(yùn)行的決策支持查詢和聯(lián)機(jī)事務(wù)處理 (OLTP)
查詢混在一起。解決方案是想辦法優(yōu)化查詢,如更改索引、將大的復(fù)雜查詢分成簡(jiǎn)單的查詢或在空閑時(shí)間或單獨(dú)的計(jì)算機(jī)上運(yùn)行查詢。
2 .查詢不適當(dāng)?shù)厥褂糜螛?biāo)。游標(biāo)可能是在結(jié)果集中瀏覽的便利方法,但使用游標(biāo)可能比使用面向集合的查詢慢。
3 .取消沒(méi)有提交或回滾的查詢。
如果應(yīng)用程序取消查詢(如使用開(kāi)放式數(shù)據(jù)庫(kù)連接 (ODBC) sqlcancel 函數(shù))但沒(méi)有同時(shí)發(fā)出所需數(shù)目的 ROLLBACK 和 COMMIT 語(yǔ)句,則會(huì)發(fā)生這種情況。取消查詢并不自動(dòng)回滾或提交事務(wù)。取消查詢后,所有在事務(wù)內(nèi)獲取的鎖都將保留。應(yīng)用程序必須提交或回滾已取消的事務(wù),從而正確地管理事務(wù)嵌套級(jí)。
4 .應(yīng)用程序沒(méi)處理完所有結(jié)果。
將查詢發(fā)送到服務(wù)器后,所有應(yīng)用程序必須立即完成提取所有結(jié)果行。如果應(yīng)用程序沒(méi)有提取所有結(jié)果行,鎖可能會(huì)留在表上而阻塞其他用戶。如果使用的應(yīng)用程序?qū)ransact-SQL 語(yǔ)句透明地提交給服務(wù)器,則該應(yīng)用程序必須提取所有結(jié)果行。
如果應(yīng)用程序沒(méi)這樣做(如果無(wú)法配置它執(zhí)行此操作),則可能無(wú)法解決阻塞問(wèn)題。為避免此問(wèn)題,可以將這些應(yīng)用程序限制在報(bào)表或決策支持?jǐn)?shù)據(jù)庫(kù)上。
5 .分布式客戶端/服務(wù)器死鎖。
與常規(guī)死鎖不同,分布式死鎖無(wú)法由 Microsoft SQL Server? 2000 自動(dòng)檢測(cè)到。如果應(yīng)用程序打開(kāi)多個(gè)與 SQL Server 的連接并異步提交查詢,則可能會(huì)發(fā)生分布式客戶端/服務(wù)器死鎖。
例如,一個(gè)客戶端應(yīng)用程序線程有兩個(gè)開(kāi)放式連接。該線程異步啟動(dòng)事務(wù)并在***個(gè)連接上發(fā)出查詢。應(yīng)用程序隨后啟動(dòng)其它事務(wù),在另一個(gè)連接上發(fā)出查詢并等待結(jié)果。當(dāng) SQL Server 返回其中一個(gè)連接的結(jié)果時(shí),應(yīng)用程序開(kāi)始處理這些結(jié)果。
應(yīng)用程序就這樣處理結(jié)果,直到生成結(jié)果的查詢被另一個(gè)連接上執(zhí)行的查詢阻塞而導(dǎo)致再?zèng)]有可用的結(jié)果為止。此時(shí)***個(gè)連接阻塞,無(wú)限期等待處理更多的結(jié)果。第二個(gè)連接沒(méi)有在鎖上阻塞,但仍試圖將結(jié)果返回給應(yīng)用程序。然而,由于應(yīng)用程序阻塞而在***個(gè)連接上等待結(jié)果,第二個(gè)連接的結(jié)果將得不到處理。
以上的相關(guān)內(nèi)容就是對(duì)常見(jiàn)的SQL Server阻塞情形的介紹,望你能有所收獲。
上述的相關(guān)內(nèi)容就是對(duì)常見(jiàn)的SQL Server阻塞情形的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。
網(wǎng)頁(yè)名稱:常見(jiàn)的SQLServer阻塞情形有哪些?
新聞來(lái)源:http://www.dlmjj.cn/article/dhpeoss.html


咨詢
建站咨詢
