簡體   English   中英

無法從 Azure 應用服務連接到 SQL 數據庫

[英]Can't connect to SQL Database from Azure Application Service

我有兩個運行 .NET Core 3.1 應用程序的應用程序服務連接到 Azure SQL 數據庫。 一個應用程序是一個簡單的測試應用程序,用於使用相同的 DI 管道測試與數據庫的連接性,另一個是完整的應用程序。 測試應用程序連接到數據庫並生成所需的 output,而生產應用程序無法連接並顯示以下異常消息:

與 SQL 服務器建立連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱是否正確,並且 SQL 服務器配置為允許遠程連接。 (提供者:SNI_PN11,錯誤:26 - 錯誤定位服務器/指定實例)

我已經修改了數據庫的規則以包括我的開發工作站 IP 地址,並且兩個應用程序都按預期連接到數據庫。 在數據庫防火牆上,我還做了以下事情:

  1. 將測試和生產應用程序的 IP 地址添加到數據庫防火牆。 它是應用服務屬性部分中指定為virtual ip address的 IP 地址。 這兩個應用服務共享一個虛擬 IP 地址。
  2. 在控制台中啟用了Allow Azure services and resources to access this server設置。

應用程序的appsettings.json文件是相同的。

當我將測試應用程序部署到生產服務器時,它仍然可以工作。 生產應用程序中的某些內容導致連接失敗。 為什么生產應用程序無法連接,還有什么辦法可以解決問題?

想知道我的連接字符串是否有問題,我添加了一些日志記錄以將其寫入日志文件。 我意識到連接字符串是錯誤的——它試圖連接到不同的數據庫。 AppSettings.Production.json 覆蓋了連接字符串,我的測試應用程序有一個空的 AppSettings.Production.json 這就是它起作用的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM