如何创建SYSDBA以外的用户拥有的数据库?

时间:2016-12-29 10:50:16

标签: firebird firebird-3.0

当我发出isql命令时:

create database "localhost:testdb.fdb" user milenio password "secret";

我收到以下错误:

Statement failed, SQLSTATE = 28000
no permission for CREATE access to DATABASE testdb.fdb
我错过了什么?如何向用户milenio授予必要的权限?

1 个答案:

答案 0 :(得分:3)

在Firebird 3中,用户需要拥有(并登录)RDB$ADMIN角色,或者用户(或其当前角色)需要具有CREATE DATABASE权限才能创建数据库

另请参阅Firebird 3发行说明User Privileges for Metadata Changes

GRANT CREATE DATABASE TO [USER | ROLE] <user-name> | <role-name>;

或者具体而言,将此权限授予用户milenio

grant create database to user milenio;

然后提交。

这需要由SYSDBA或安全数据库中具有RDB$ADMIN角色的用户执行。