Azure SQL Database 連接問題常見排查方法

來源: Microsoft
作者:Microsoft
時間:2021-03-10
16995
Azure SQL Database 連接問題是使用 SQL Database 的常見問題,本文將會詳細(xì)介紹 Azure SQL Database 連接出現(xiàn)問題時的常見問題及排查方法。具體常見原因及排查思路如下。

Azure SQL Database 連接問題是使用 SQL Database 的常見問題,本文將會詳細(xì)介紹 Azure SQL Database 連接出現(xiàn)問題時的常見問題及排查方法。具體常見原因及排查思路如下。

防火墻設(shè)置不正確

防火墻配置不正確是導(dǎo)致 Azure SQL Database 連接不了比較最常見的問題。如果從公網(wǎng)連接可能是沒有把公網(wǎng)連接的客戶端地址加入防火墻允許列表。如果是從 Azure 虛擬機連接,可能是沒有配置好虛擬網(wǎng)絡(luò)服務(wù)終節(jié)點。同時,也有可能用戶本地的防火墻設(shè)置規(guī)則比較復(fù)雜,沒有運行 Azure 平臺的 Cluster 訪問,導(dǎo)致連接不上。具體分析如下:

1.允許 Azure Cluster IP 訪問本地:

Azure 平臺一些 Cluster 的 IP,用于平臺上相應(yīng)服務(wù)的訪問。如果用戶本地有入站規(guī)則限制,就需要把使用的 Azure SQL DataBase 所在區(qū)域的 IP 加入到入站規(guī)則允許列表中,如果有本地有出站規(guī)則限制,就需要把 IP 加入到出站的允許列表中。

2.設(shè)置公網(wǎng)防火墻允許列表:

可以在 Azure SQL Database 的防火墻設(shè)置中添加公網(wǎng)防火墻允許列表,如果需要從公網(wǎng)訪問 Azure SQL 數(shù)據(jù)庫必須配置將訪問的客戶端的 IP 地址加入防火墻允許列表,如下所示:

01 (2).png

3.配置虛擬網(wǎng)絡(luò)服務(wù)終結(jié)點:

如果需要從 Azure 虛擬機中訪問 Azure SQL DataBase,但是又關(guān)閉允許訪問 Azure 服務(wù),則需要將 Azure 虛擬機配置到 Azure SQL DataBase 中。

添加現(xiàn)有虛擬網(wǎng)絡(luò),然后選擇虛擬機所在的虛擬網(wǎng)絡(luò)進行啟用服務(wù)終結(jié)點,并且添加虛擬網(wǎng)絡(luò),具體如下所示:

02 (2).png

03 (2).png

使用不同方式登錄 Azure SQL DataBase 來縮小范圍

當(dāng)遇到 Azure SQL DataBase 連接不上時,有多種方法可以幫助排查縮小范圍。

1.嘗試使用不同工具連接:

遇到當(dāng)前 Azure SQL DataBase 連接不了的情況,可以嘗試使用不同的工具連接。例如,如果使用 SQL Server Management Studio 登錄失敗,則可以使用 Navicat 進行登錄排查是某個客戶端問題造成的。

2.登錄在同一個區(qū)域的相同配置的另一個 Azure SQL DataBase:

通過登錄和連接有問題的 Azure SQL DataBase 在同一個區(qū)域,且配置相同的 Azure SQL DataBase 來排除是否是訂閱下某個區(qū)域的所有 Azure SQL DataBase 都存在連接問題。

3.門戶上用查詢編輯器登入:

通過使用 Azure 門戶上的查詢編輯器進行登入,查看是否會報同樣的錯誤,從而排除由于防火墻設(shè)置造成的連接問題。

04 (2).png

排除是否為網(wǎng)絡(luò)問題

通過在本地的 CMD 中運行 psping -t sqldb.database.chinacloudapi.cn:1433 和 nslookup sqldb.database.chinacloudapi.cn 這兩條命令來判斷是否存在網(wǎng)絡(luò)問題。正常沒有問題則顯示如下:

05 (2).png

06 (2).png

抓包進行排查

如果上述方法都沒有排查出問題,也可以在 Azure SQL DataBase 連接不上時,通過抓取網(wǎng)絡(luò)包或者應(yīng)用報進行查看,用來分析具體原因。

使用 WireShark 抓取網(wǎng)絡(luò)包

1.下載 WireShark (下載地址:Download WireShark)。

2.開始抓包:

07 (3).png

3.調(diào)用接口訪問數(shù)據(jù)庫,結(jié)束后停止抓包,請?zhí)峁╅_始調(diào)用接口到獲取數(shù)據(jù)的日志(開始時間,獲取數(shù)據(jù)的時間)。

4.保存抓包文件,對抓包文件中有異常報錯的地方進行分析,或者可以對使用的 Azure SQL DataBase 的 IP 地址進行分析。也可以將網(wǎng)絡(luò)包發(fā)給 Azure 技術(shù)支持進行分析。

使用 Fiddler Trace 抓取應(yīng)用包

1.若還未安裝 Fiddler Trace,從 Downloading Telerik Fiddler 下載安裝。

2.打開 Fiddler,點擊 Tools > Fiddler Options。

3.點擊 HTTPS 標(biāo)簽。

4.確認(rèn)設(shè)置如下圖所示:

08.jpg

5.若 Fiddler 要求你允許它用 root 權(quán)限, 點擊 Yes。

6.復(fù)現(xiàn) register Microsoft.PowerBIDedicated 錯誤,讓 Fiddler 抓取網(wǎng)絡(luò)包.

7.當(dāng)確認(rèn) Fiddler 已抓到所需的信息后, 點擊 File,取消選中 Capture Traffic 來取消 Fiddler 抓包。

8.點擊 File > Save > All Sessions 保存文件,對抓包文件中有異常報錯的地方進行分析,也可以將網(wǎng)絡(luò)包發(fā)給微軟技術(shù)支持團隊進行分析。

其他排查方法

1.連接池配置內(nèi)容,查看 Log in 數(shù)量或者并發(fā)連接數(shù)達(dá)到該定價層的上限值。

可以參考文檔中不同定價層的連接數(shù)上限:使用基于 DTU 的購買模型的單一數(shù)據(jù)庫的資源限制。

09 (2).png

2.如果使用 Redirect 連接方式,此方式只支持 JDBC 驅(qū)動 4.6 及以上版本,低于這個版本的需要升級版本型號。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Microsoft,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多