適用先
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

現象

次のような状況で問題が発生します。

  • Microsoft SQL Server 2012 または SQL Server 2014 を使用している。

  • プライマリレプリカで service broker が有効になっているデータベースを使用している。

  • Service broker が有効になっているプライマリサーバーのデータベースをバックアップし、セカンダリサーバーに復元します。

  • プライマリサーバーとセカンダリサーバー間の可用性グループの定義の一環として、新しい可用性グループウィザードを使用するか、コマンド「ALTER DATABASE <dbname> SET HADR availability group = <agname>を使用して可用性グループにデータベースを結合します。

このシナリオでは、SQL Server のエラーログに次のエラーが記録されます。

{エラー: 3449、レベル:21、状態: 1。データベースを回復するには、SQL Server をシャットダウンする必要があります (データベース ID 1)。 データベースは、シャットダウンできないかシステムデータベースであるユーザーデータベースです。 SQL Server を再起動します。 別の起動後にデータベースの回復に失敗した場合、サーバーのシャットダウンにより、修復または restoreSQL Trace が停止されました。 トレース ID = ' 1 '。 これは情報メッセージにすぎません。ユーザー操作は必要ありません。}

原因

この問題は、service broker を有効にしたデータベースがバックアップされてセカンダリサーバーに復元されている場合、復元されたデータベースの service broker が有効になっていないために発生します。 データベースは、内部で service broker id を保持しています。セカンダリサーバー上の復元されたデータベースを [可用性] グループに追加すると、service broker は有効になります。 可用性データベースの同じ GUID が検出され、次のエラーが発生します。 9772 "><データベースの service broker は、同じ ID の有効な service broker が既に存在しているため、有効にできません。"これにより、データベースが可用性グループに参加しており、SQL server が予期せずに終了するというエラー3449が発生します。

SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。

状態

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

ヘルプを表示

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

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