Azure SQL 數(shù)據(jù)庫(kù)常見的連接問(wèn)題

來(lái)源: Microsoft Azure
作者:Microsoft Azure
時(shí)間:2021-02-02
16994
這篇文章總結(jié)了常見的Azure SQL數(shù)據(jù)庫(kù)連接失敗的情況,主要分為5大類,旨在幫助用戶或企業(yè)數(shù)據(jù)庫(kù)管理員排查數(shù)據(jù)庫(kù)連接異常的問(wèn)題。

這篇文章總結(jié)了常見的Azure SQL數(shù)據(jù)庫(kù)連接失敗的情況,主要分為5大類,旨在幫助用戶或企業(yè)數(shù)據(jù)庫(kù)管理員排查數(shù)據(jù)庫(kù)連接異常的問(wèn)題。

問(wèn)題一:連接字符串問(wèn)題

1.錯(cuò)誤的login或密碼

如果在連接數(shù)據(jù)庫(kù)的時(shí)候輸入了錯(cuò)誤的login或者密碼,那么通常我們會(huì)看到如下報(bào)錯(cuò):

error.png

這時(shí)可以檢查一下連接字符串或者SSMS客戶端輸入的login和密碼是否正確。

2.錯(cuò)誤的服務(wù)器名稱

在遇到下面這種報(bào)錯(cuò)信息的時(shí)候,需要檢查一下是否是服務(wù)器名稱輸入有誤。

error-2.png

問(wèn)題二:Login/User權(quán)限問(wèn)題

如果使用的Login并沒(méi)有訪問(wèn)目標(biāo)數(shù)據(jù)庫(kù)的權(quán)限,那么在嘗試直接連接到這個(gè)數(shù)據(jù)庫(kù)或者連接到master數(shù)據(jù)庫(kù)后展開這個(gè)數(shù)據(jù)庫(kù)的時(shí)候就會(huì)遇到下面這個(gè)錯(cuò)誤:

error-3.png

這時(shí)候需要根據(jù)情況為這個(gè)Login創(chuàng)建一個(gè)User,然后賦予這個(gè)User訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限;或者直接更換一個(gè)有訪問(wèn)權(quán)限的賬號(hào)進(jìn)行連接。下面的例子是如何創(chuàng)建一個(gè)名為testlogin的Login并且賦予對(duì)數(shù)據(jù)庫(kù)testdb的read權(quán)限:

--在master數(shù)據(jù)庫(kù)下運(yùn)行語(yǔ)句,創(chuàng)建名為testlogin的Login

CREATE LOGIN testlogin WITH password='Pass word1';

--切換到testdb數(shù)據(jù)庫(kù),創(chuàng)建名為testuser的User

CREATE USER testuser FROM LOGIN testlogin;

--給新建的testuser添加read權(quán)限

EXEC sp_addrolemember'db_datareader','testuser';

問(wèn)題三:防火墻設(shè)置問(wèn)題

1.IP地址不在允許列表中

如果發(fā)起連接的客戶端IP地址不在Azure SQL Database的IP允許列表中,那么連接會(huì)失敗。這時(shí)候需要登錄到Azure管理門戶中添加相應(yīng)的防火墻規(guī)則。

firewall.png

2.在客戶端和Internet之間的所有防火墻上面,確保1433端口的出站鏈接(outbound connection)是開放的。

3.對(duì)于部署在Azure虛擬機(jī)上的客戶端,除1433端口外,確保為客戶端與SQL數(shù)據(jù)庫(kù)之間的交互保留Azure客戶端計(jì)算機(jī)上11000-11999和14000-14999的端口范圍。

問(wèn)題四:暫時(shí)性錯(cuò)誤

當(dāng)應(yīng)用嘗試連接到Azure SQL Database的時(shí)候,如果收到了下面的錯(cuò)誤信息:

Error code 40613:"Database<x>on server<y>is not currently available.Please retry the connection later.If the problem persists,contact customer support,and provide them the session tracing ID of<z>"

這種錯(cuò)誤通常都是暫時(shí)性的。SQL Database在需要?jiǎng)討B(tài)調(diào)整硬件資源,或者有計(jì)劃事件(例如軟件更新)等情況下,會(huì)觸發(fā)重新配置(reconfiguration),大多數(shù)的重新配置會(huì)很快完成,最多不超過(guò)60s。針對(duì)這種暫時(shí)性的錯(cuò)誤,可以有如下解決辦法:

1.應(yīng)用端應(yīng)該做好應(yīng)對(duì)這種暫時(shí)性錯(cuò)誤的準(zhǔn)備,很重要的一點(diǎn)就是添加重試邏輯(retry logic),在問(wèn)題發(fā)生時(shí)進(jìn)行重試而不是直接把報(bào)錯(cuò)拋給客戶端/用戶,有關(guān)重試邏輯的示例代碼,可以參考:SQL Azure Connection Retry

2.當(dāng)數(shù)據(jù)庫(kù)的資源使用接近上限時(shí),也可能造成暫時(shí)的連接問(wèn)題。對(duì)于這種情況,可以通過(guò)管理門戶的監(jiān)控圖表來(lái)及時(shí)發(fā)現(xiàn)資源不足的情況,根據(jù)實(shí)際需求調(diào)整服務(wù)級(jí)別。

問(wèn)題五:?jiǎn)⒂昧藬?shù)據(jù)庫(kù)表審核

在開啟了Azure SQL Database Table Auditing之后,對(duì)于下層客戶端來(lái)說(shuō),需要修改連接字符串,否則會(huì)出現(xiàn)無(wú)法連接的情況。

備注

該問(wèn)題只會(huì)出現(xiàn)在應(yīng)用了Table Auditing的情況,而Table Auditing目前已經(jīng)被棄用。對(duì)于Blob Auditing,則不需要修改。

對(duì)于“下層客戶端”,即支持TDS 7.3版和更低版本的客戶端—應(yīng)修改連接字符串中的服務(wù)器FQDN:

連接字符串中的原始服務(wù)器FQDN:<服務(wù)器名稱>.database.chinacloudapi.cn

連接字符串中修改后的服務(wù)器FQDN:<服務(wù)器名稱>.database.secure.chinacloudapi.cn

“下層客戶端”的部分列表包括:

·.NET 4.0和更低版本,

·ODBC 10.0和更低版本。

·JDBC(JDBC雖然支持TDS 7.4,但不完全支持TDS重定向功能)

·Tedious(適用于Node.JS)

關(guān)于更多相關(guān)信息,可以參考:SQL數(shù)據(jù)庫(kù)-針對(duì)審核的下層客戶端支持和IP終結(jié)點(diǎn)更改。

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于Microsoft Azure,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
隨著人工智能技術(shù)持續(xù)重塑企業(yè)運(yùn)營(yíng)方式,企業(yè)需要能夠處理海量數(shù)據(jù)的系統(tǒng),以支持實(shí)時(shí)洞察,同時(shí)幫助他們應(yīng)對(duì)跨IT和OT環(huán)境(包括云端、邊緣和本地)中運(yùn)營(yíng)、應(yīng)用、數(shù)據(jù)和基礎(chǔ)設(shè)施的協(xié)作難題。
Azure
微軟云
云服務(wù)
2024-12-172024-12-17
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺(tái)的發(fā)展掀開了嶄新的一頁(yè),突破了性能、云原生開發(fā)和AI技術(shù)集成的邊界。
Azure
微軟云
云服務(wù)
2024-12-162024-12-16
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
智能Microsoft Copilot副駕駛for Azure網(wǎng)絡(luò)服務(wù)現(xiàn)已推出公共預(yù)覽版。
Azure
微軟云
云服務(wù)
2024-12-102024-12-10
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
一年前,我們正式推出了一款端到端數(shù)據(jù)平臺(tái),旨在幫助組織推動(dòng)人工智能轉(zhuǎn)型,并重新定義數(shù)據(jù)的連接、管理和分析方式。
Azure
微軟云
云服務(wù)
2024-12-092024-12-09
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家