現象
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 2017 の累積的な更新プログラム 9
- SQL Server 2016 Service Pack 2 の累積的な更新プログラム 2
- SQL Server 2016 Service Pack 1 の累積的な更新プログラム 10
- SQL Server 2014 SP2 の累積的な更新プログラム 13
ビルドSQL Serverについて
SQL Serverの各新しいビルドには、前のビルドにあったすべての修正プログラムとセキュリティ修正プログラムが含まれています。 ご使用のバージョンの SQL Server 用の最新ビルドをインストールすることをお勧めします。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
参考資料
Microsoft がソフトウェア更新プログラムの説明に使用する 用語 について説明します。