我有Firebird 2.5,我需要提取DDL的所有用户和特权,以导出到另一个Firebird数据库。
例如,我需要获得用户max的脚本。
"Create user max FIRSTNAME 'Max' LASTNAME 'Power' Grant admin option";
我使用IB专家,但没有找到这个选项来提取DDL。
发布于 2022-02-02 16:46:10
工具->赠款/权限管理器->工具栏->保存->脚本执行
或者,转到工具->提取元数据->设置,然后在那里检查“提取授权”复选框。
您还必须记住,用户本身并不存在于数据库中(仅授予权限),他们存在于服务器中,而不是数据库中。
请参阅how to display and set user rights in firebird database
另见GSEC文件:
gsec -user sysdba -password <password> -database <databasename> -display
-这样的命令应该显示在服务器上注册的所有用户,用于连接数据库。获取用户列表并将create user
命令添加到每个用户列表中是非常简单的。
还有一个利基案例,即Firebird可能没有任何用户,而是从主机操作系统借用用户。它被称为“可信身份验证”模式。如果GSEC没有显示用户或显示的用户太少--检查相关firebird.conf
中的身份验证设置,那么您可能不得不从Windows而不是Firebird转储用户列表。
https://stackoverflow.com/questions/70959010
复制相似问题