識別驗證及授權失敗

已完成

連線失敗可能是因為重新設定、防火牆設定、連線逾時或登入資訊不正確造成。 此外,如果某些 Azure SQL Database 或 SQL 受控實例資源超過容量,您將無法連線。

暫時性錯誤

當大量工作負載增加 SQL Database 服務時,Azure 基礎結構就能夠動態重新設定伺服器,而且用戶端應用程式可能會在此作業期間失去與資料庫的連線。

在資料庫重新設定計劃事件或非計劃性事件期間發生暫時性錯誤。 這些事件是簡短的,不應該花費超過 60 秒才能完成。

以下是應用程式連線至 Azure SQL Database 時可能收到的一些暫時性錯誤清單:

  • 無法開啟登入所要求的資料庫 「%.*ls」。 登入失敗。
  • 無法處理要求。 資源不足,無法處理要求。
  • 無法處理要求。 訂用帳戶 "%ld" 太多作業進行中。

如何監視暫時性連線錯誤

錯誤 動作
登入失敗 在應用程式回報 Microsoft Azure 服務儀表板的錯誤時,尋找任何中斷。
資料庫達到資源限制 請仔細監視資料庫的計算和儲存體資源,並在達到其資源限制時採取動作,以避免暫時性失敗。
延伸驗證失敗 如果您的應用程式發生連線錯誤超過 60 秒,或是在指定的一天內反覆發生,請透過 Azure 入口網站提出 Azure 支援要求。

重試邏輯

應用程式開發人員應該在與雲端服務整合時預期定期暫時性失敗,例如 Azure SQL Database,並實作重試邏輯,而非向使用者顯示應用程式錯誤。 請務必在程序終止之前設定最大重試次數。

建議您在首次重試時至少等候 5 秒。 後續每次重試的延遲應為指數型成長,最大值為 60 秒。

注意

如果在 SQL Database 或 SQL 受控實例中,SELECT 語句因暫時性錯誤失敗,請避免直接重試。 請改用新的連接重試 SELECT 語句。

無法登入伺服器

當發生 [使用者 '< User name >' 登入失敗] 錯誤時,服務管理員可遵循下列步驟:

  1. 使用 sys.sql_logins 目錄檢視確認登入是否已停用。
  2. 如果停用登入,請執行 ALTER LOGIN <User name> ENABLE; 加以啟用。
  3. 如果登入不存在,請使用 CREATE LOGIN 語句加以建立。
  4. 與您要授與使用者存取權的資料庫連線,然後執行 CREATE USER 陳述式。
  5. 使用 ALTER ROLE 命令將角色指派給使用者,或使用 GRANT 命令將一或多個資料庫物件的存取權授與使用者。

連線字串

當您收到連線錯誤時,最好是確保您的連接字串能正常運作。 當佈建新資料庫,或針對資料庫服務執行基礎結構變更後,此操作格外重要。

Azure 入口網站可讓您擷取與 Azure SQL Database 互動所需的連接字串。

  1. 從 Azure 入口網站選取 [所有服務],然後選取 [SQL 資料庫]。 篩選並選取您的資料庫。

  2. 在您資料庫的刀鋒視窗上,選取 [連接字串]

  3. 複製並編輯連接字串,方法是包含您的密碼,或視需要取代伺服器名稱。

  4. 參考用戶端應用程式中更新的連接字串。

若要深入瞭解 Azure SQL Database 和 Azure SQL 受控實例的連線錯誤,請參閱 針對 Azure SQL Database 和 Azure SQL 受控實例的連線問題和其他錯誤進行疑難解答