學(xué)習(xí)sqlserver的時(shí)候,默認(rèn)的身份驗(yàn)證是windows的身份驗(yàn)證。
而在進(jìn)一步學(xué)習(xí)的時(shí)候希望改成sqlserver的身份驗(yàn)證。操作流程無(wú)非就是選中服務(wù)器——》右擊屬性
再按如下圖選擇,當(dāng)然sqlserver有默認(rèn)的身份驗(yàn)證賬號(hào),sa,操作教程也有,這里不談。我也是按如此操作的
當(dāng)然我畫(huà)蛇添足的選擇,講最大并發(fā)連接數(shù)改成了2,導(dǎo)致出現(xiàn)問(wèn)題:已成功與服務(wù)器建立連接,但是在登錄前的握手期間發(fā)生錯(cuò)誤。
看之前博主說(shuō)出現(xiàn)該錯(cuò)誤的原因就是因?yàn)樽畲蟛l(fā)數(shù)的問(wèn)題,那么修改最大并發(fā)數(shù)就可以避免該錯(cuò)誤,可是問(wèn)題是,當(dāng)出現(xiàn)該錯(cuò)誤的時(shí)候,我們往往操作不了服務(wù)器。
經(jīng)驗(yàn)下來(lái)的操作就是,1、不停重啟服務(wù)器,重啟之后試試屬性是否可以調(diào)試。2、不停斷開(kāi)再連接,連接后試試屬性是否可以調(diào)試。
修改連接數(shù)為0,問(wèn)題即可解決。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-727322.html
解決了這個(gè)問(wèn)題,那么為什么最大并發(fā)數(shù)不為0就會(huì)出現(xiàn)這個(gè)錯(cuò)誤?
1、最大并發(fā)連接是什么概念?
sqlserver中的最大并發(fā)連接數(shù)(max pool size)就是你能同時(shí)有多少個(gè)到sqlserver數(shù)據(jù)庫(kù)的連接。
默認(rèn)是100, 理論最大為32767,
2、為什么數(shù)量過(guò)低會(huì)出現(xiàn)上述錯(cuò)誤
來(lái)自微軟:https://learn.microsoft.com/zh-cn/sql/connect/ado-net/sql-server-connection-pooling?view=sql-server-ver16
啥意思呢?
就是說(shuō)我們邏輯上同過(guò)程序和數(shù)據(jù)庫(kù)建立連接,其實(shí)是一種極耗費(fèi)資源的過(guò)程
為了減少資源消耗,提高利用率
sqlserver采用了一個(gè)新技術(shù)——連接池
這個(gè)連接池是什么意思呢?
池程序維持物理連接的所有權(quán)。 通過(guò)為每個(gè)給定的連接配置保留一組活動(dòng)連接來(lái)管理連接。 每當(dāng)用戶(hù)在連接上調(diào)用 Open 時(shí),池進(jìn)程就會(huì)查找池中可用的連接。 如果某個(gè)池連接可用,會(huì)將該連接返回給調(diào)用者,而不是打開(kāi)新連接。 應(yīng)用程序在該連接上調(diào)用 Close 時(shí),池進(jìn)程會(huì)將連接返回到活動(dòng)連接池集中,而不是關(guān)閉連接。 連接返回到池中之后,即可在下一個(gè) Open 調(diào)用中重復(fù)使用。
所以程序當(dāng)中建立連接,和我們?cè)趕sms中的操作(如下圖)實(shí)際上是從池中找可用的鏈接。當(dāng)最大并發(fā)連接數(shù)很大,那么查找的范圍更多,更有可能找到物理鏈接開(kāi)啟的鏈接。反之則越少。
所以測(cè)試的時(shí)候也盡可能將數(shù)量設(shè)的更多一點(diǎn)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-727322.html
到了這里,關(guān)于SQL Server :已成功與服務(wù)器建立連接,但是在登錄前的握手期間發(fā)生錯(cuò)誤。的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!