2010年11月19日

InterBase 5/6からInterBase XEに移行するとシステムテーブルにアクセスできない問題

Support KB

no permission for read/select access to table RDB$XXXX by user SYSDBA

という記事がありました。興味深い。とりあえずメモ。

てきとうな要約: InterBase 6.5およびそれ以前のバージョンからInterBase XEにデータベースを移行するとSYSDBAでシステムテーブル(RDB$XXXX)にアクセスできない(パーミッションがない)、という問題が発生する。この問題を解決する1番目の方法はシステムテーブルへのアクセスをgrantするもので、InterBaseのインストールフォルダの下の"examples\security\readmeta.sql"をISQLかIBConsoleから実行する。2番目の方法はパフォーマンスモニタリングのためにシステムテンポラリテーブルにアクセスしたい場合のもので、通常はSYSDBAとデータベースのオーナにのみ許可されているシステムテンポラリテーブルへのアクセスを全てのユーザに公開するようなスクリプト(元記事の"create procedure granttmp as"以下の部分)を実行する。

2016/07/17追記: Support KBの記事の日本語訳が出ています。

データベースのリストア時に発生する unassigned code エラーについて

またdocwikiにも記述があります。

移行における問題 - InterBase

0 件のコメント: