0

我有 Firebird 2.5,我需要将所有用户和权限提取为 DDL 以导出到另一个 Firebird 数据库。

例如,我需要获取用户 max 的脚本

"Create user max  FIRSTNAME 'Max' LASTNAME 'Power' Grant admin option";

我使用 IB Expert,但没有找到提取 DDL 的选项。

4

1 回答 1

1

工具 -> 授权/权利管理器 -> 工具栏 -> 保存 -> 到脚本执行者

IB专家

或者,转到工具 -> 提取元数据 -> 设置,然后在此处选中“提取授权”复选框。


您还必须记住,用户本身不存在于数据库中(只有授权存在),用户存在于服务器中,而不是数据库中。

了解如何在 firebird 数据库中显示和设置用户权限

另请参阅 GSEC 文档:

gsec -user sysdba -password <password> -database <databasename> -display- 类似的命令应该显示所有注册到用于连接数据库的服务器的用户。获取用户列表并将create user 命令添加到每个用户列表将是微不足道的。


还有一个小众案例,Firebird 可能没有任何用户,从主机操作系统中借用它们。它被称为“可信认证”模式。如果 GSEC 不显示用户或显示用户太少 - 检查相关的身份验证设置firebird.conf,也许您必须从​​ Windows 中转储用户列表,而不是从 Firebird 中。

于 2022-02-02T16:46:10.430 回答