InterBaseのセキュリティデータベースの移行の際に「Unsuccessful metadata update, STORE RDB$FIELDS failed, STORE RDB$FIELDS failed attempted update during read-only transaction 」エラーが発生する

提供: Support
移動先: 案内検索

対象となる製品

  • InterBase XE 以降

問題

このエラーは、InterBaseの古いバージョンから InterBase XE、または、それ以降のバージョンへセキュリティデータベースを移行する際に発生します。 InterBaseのセキュリティデータベースは、デフォルトで ADMIN.IBと命名されています。InterBase XEの以前のバージョンから XEへセキュリティデータベースをバックアップ/リストアし、InterBase XEまたは、それ以降のバージョンで使用すると、次のエラーが発生します。

Unsuccessful metadata update
STORE RDB$FIELDS
failed attempted update during read-only transaction

解決

これは、InterBase XEで強度の高いパスワードのサポートのためにセキュリティデータベースに新しいフィールドを追加したためです。古いバージョンから InterBase XE以降で使用するためにセキュリティデータベースを移行するには、リストアされたデータベースに対して以下の SQLを実行します。

CREATE DOMAIN PASSWORD_DIGEST AS VARCHAR(16) CHARACTER SET ASCII;
alter table users add password_digest password_digest;
update users set password_digest='SHA-1' where user_name='SYSDBA';