Subject | Re: [firebird-support] Problem restoring with gbak |
---|---|
Author | Helen Borrie |
Post date | 2005-10-25T10:35:04Z |
At 09:06 AM 25/10/2005 +0000, you wrote:
GRANT UPDATE(aField) on aTable TO SRMAX
and it discovered that aField doesn't exist in aTable. A likely cause
could be that the column is actually defined as "aField" - quoted
identifiers and case-sensitive.
Open the database with a tool that can show you the system tables and
inspect the privileges in RDB$USER_PRIVILEGES for SRMAX. Or just use a
query to get at the data you need to look at:
select
rdb$grantor, rdb$user,
rdb$relation_name,
rdb$field_name from rdb$user_privileges
where rdb$user = 'SRMAX'
and rdb$relation_name not starting with 'RDB$'
and rdb$field_name is not null
./heLen
>I've just been trying to test a backup/restore with gbak, and I'mWell, it encountered a GRANT statement like, e.g.
>getting this error message in the restore (to a new file):
>
>gbak: restoring privilege for user SRMAX
>gbak: ERROR: action cancelled by trigger (1) to preserve data
>integrity
>gbak: ERROR: could not find column for GRANT
>gbak: Exiting before completion due to errors
>
>Can anyone explain possible causes of this?
GRANT UPDATE(aField) on aTable TO SRMAX
and it discovered that aField doesn't exist in aTable. A likely cause
could be that the column is actually defined as "aField" - quoted
identifiers and case-sensitive.
>I've had some niggles with privileges in this database before, withIt is.
>an unexpected lack of rights on particular fields.
>
>Examining the verbose output of gbak and opening the restored
>database with IBExpert suggests all the database structure and data
>is there, so I'm hoping security is the last stage of the restore.
Open the database with a tool that can show you the system tables and
inspect the privileges in RDB$USER_PRIVILEGES for SRMAX. Or just use a
query to get at the data you need to look at:
select
rdb$grantor, rdb$user,
rdb$relation_name,
rdb$field_name from rdb$user_privileges
where rdb$user = 'SRMAX'
and rdb$relation_name not starting with 'RDB$'
and rdb$field_name is not null
./heLen