KB4340837 - 修正: プル サブスクリプション データベースにSQL Server データベースがスナップショットされているサーバーに修正プログラムが適用されている場合のエラー 3906

適用先
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

現象

Microsoft SQL Serverを実行しているサーバー上のプル サブスクリプション データベースにデータベース スナップショットがあるとします。 サーバーに修正プログラムを適用すると、スクリプト レベルのアップグレードが失敗し、次のようなエラー メッセージが表示されます。

日付時刻spid_number レプリケーション ジョブセキュリティメタデータアップグレードの実行...
date timespid_number エラー: 3906、重大度: 16、状態: 1。
date timespid_number データベースが読み取り専用であるため、データベース "database_name" を更新できませんでした。
date timespid_number エラー: 912、重大度: 21、状態: 2。
date timespid_number アップグレード 手順 'msdb110_upgrade.sql' でエラー 3906、状態 1、重大度 16 が発生したため、データベース 'master' のスクリプト レベルのアップグレードが失敗しました。 これは重大なエラー状態であり、通常の操作を妨げる可能性があり、データベースはオフラインになります。 'master' データベースのアップグレード中にエラーが発生した場合、SQL Server インスタンス全体が起動できなくなります。 前のエラー ログ エントリでエラーがないか調べ、適切な修正アクションを実行し、スクリプトのアップグレード手順が完了するまで実行されるようにデータベースを再実行します。

解決策

この問題は、SQL Serverの次の更新プログラムで修正されています。

ビルドSQL Serverについて

SQL Serverの各新しいビルドには、前のビルドにあったすべての修正プログラムとセキュリティ修正プログラムが含まれています。 ご使用のバージョンの SQL Server 用の最新ビルドをインストールすることをお勧めします。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

Microsoft がソフトウェア更新プログラムの説明に使用する 用語 について説明します。