メイン コンテンツへスキップ
サポート
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> <> DB_Backup_Name のエラーが発生しました。" 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 Name: 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から開始されます。 使用可能なすべてのバージョンについて、値が1の ' SchUseStrongCrypto ' という名前の DWORD 値を追加する必要があります。

  • SQL Server コンピューターを再起動します。

ノート.Net Framework 4.8 をインストールすることもできます。 既定では、.NET Framework 4.7 以降のバージョンでは、TLS 1.2 を使用し、TLS 1.1 または TLS 1.0 を使用して接続を許可するように構成されています。

参照情報

ソフトウェアの更新を説明するために Microsoft が使用する 用語について説明します。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×