使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

徵狀

假設您使用的是 Microsoft SQL Server 2012、2014或2016。 當您將資料庫備份到 Microsoft Azure Blob 儲存服務 URL 時,該作業可能失敗, 而且您會在用戶端和 SQL Server 錯誤記錄中收到下列錯誤訊息。

SQL Server 用戶端錯誤

Msg 3271、Level 16、State 1、Line LineNumber 在檔案「HTTPs://<> BlobStorageServerName 上發生無法恢復的 i/o 錯誤。 blob.core.windows.net/sqlbackup/<DB_Backup_Name .bak> "備份到 URL 收到來自遠端端點的例外狀況。 例外狀況訊息:基礎連線已關閉:接收時發生意外的錯誤。 Msg 3013、Level 16、State 1、Line LineNumber 備份資料庫異常終止。

SQL Server 錯誤記錄

<DateTime>    ======== BackupToUrl Initiated =========
<DateTime> Inputs: Backup = True, PageBlob= True, URI = https://<BlobStorageServerName>.blob.core.windows.net/sqlbackup/<DB_Backup_Name.bak>, Acct= lbtesting2096, Key= KeyValue, FORMAT= False, Instance Name = MSSQLSERVER, DBName = <DB_Name> LogPath = C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log
<DateTime>    Process Id: 3668
<DateTime>     Time for Initialization = 202.7451 ms
<DateTime>    BackupToUrl Client is getting configuration from SqlServr
<DateTime>    Time for Handshake and VDI config = 31.2507 ms
<DateTime>    Time for Get BlobRef = 15.6263 ms
<DateTime>    Time for - EXCEPTION Get Fetchattributes = 45364.4979 ms
<DateTime>    An exception occurred during communication with Azure Storage, exception information follows
<DateTime>    Exception Info: The underlying connection was closed: An unexpected error occurred on a receive.
<DateTime>    Stack:    at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](StorageCommandBase`1 cmd, IRetryPolicy policy, OperationContext operationContext)
   at BackupToUrl.Program.MainInternal(String[] args)
<DateTime>    The Active queue had 1 requests until we got a clear error.

如果您的用戶端伺服器已啟用使用下列登錄的傳輸層安全性(TLS)通訊協定版本1.2,就會發生此錯誤。

登錄機碼名稱: 

HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2 \ 用戶端 值0 名稱: Enabled 類型: REG_DWORD 資料:0x1

解決方案

此問題已在 SQL Server 2014 和2016的下列累積更新中修正:

SQL Server 2016 RTM 的累積更新7

SQL Server 2016 SP1 的累積更新4

SQL Server 2014 SP2 累積更新5

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

SQL Server 2016 的最新累計更新

SQL Server 2014 的最新累計更新

 

SQL Server 2012 的因應措施

如果已安裝的 .Net Framework 具備 TLS 1.0 的喜好設定,但它支援 TLS 1.2,就會發生此問題。 

SQL Server 2012 沒有可用的修正程式。 若要解決 SQL Server 2012 啟用強式密碼密碼的問題,您可以執行下列動作: 

  • 備份註冊表

  • 開啟 [登錄編輯程式],然後流覽至下列登錄子項: HKLM\software\Wow6432Node\Microsoft.NETFramework\ 和 HKLM\software\microsoft.NETFramework\

  • 在這些金鑰的每個登錄機碼底下,版本號碼(例如 v 4.5、v 4.5.1)都存在。 針對每個版本,新增一個名為 SchUseStrongCrypto 的 DWORD 值(值為 1 )。

  • 在 [HKLM\Software\Microsoft.NetFramework] 下,金鑰名稱不一定必須是4.5 或4.5.1。 大多會從 v 2.0 xxx、v 3.0 xxx v 4.0 xxx開始。 必須針對所有可用的版本,新增名為「SchUseStrongCrypto」的 DWORD 值(值為1)。

  • 重新開機 SQL Server 電腦。

您也可以嘗試安裝 .Net Framework 4.8。 根據預設,.NET Framework 4.7 及更新版本會設定為使用 TLS 1.2,並允許使用 TLS 1.1 或 TLS 1.0 的連線。

參考

瞭解 Microsoft 用於描述軟體更新的 詞彙

狀態

Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×