sql - 如何在 Sybase Anywhere 11 中更改数据库用户名和数据库组名

标签 sql database sybase sqlanywhere

全部! 我有一个包含表 User 和 Group 的数据库,它们代表某些应用程序中的实体。但同时存在同名的数据库用户和数据库组。我需要对数据库进行匿名化。更改数据库表很容易,例如更新用户集“Name”=“John”,...其中 Id = 100500

但是如何处理数据库用户和数据库组呢?

我的第一个想法是删除用户并创建一个新用户:

drop user John;
create user njoh identified by 'pswd' login policy "root";

但是在这种方法中失去了对群体的归属感。

Sybase Anywhere 11 中是否有任何类型的数据库用户重命名方法?

此外,我不知道如何更改数据库用户的上次登录时间和评论。 团体也有同样的问题。我没有尝试“删除组”,因为我不知道 Sybase Anywhere 11 中是否有可能。

谁能告诉我真相 - 这个问题有解决办法吗?

最佳答案

不,无法重命名现有用户。您当然可以删除它并创建一个新用户,但正如您所说,所有组成员身份都会丢失,对表和过程等对象授予的权限也会丢失。

更改用户上次登录时间的唯一方法是登录。您可以使用 comment on user is '<string>' 更改对用户的评论。 .

没有drop group语句 - SQL Anywhere(版本 12 及更早版本)中的组只是具有“组权限”的用户,因此要删除组,您可以使用 revoke connect from <group name> .

免责声明:我在 SAP 从事 SQL Anywhere 工程工作。

关于sql - 如何在 Sybase Anywhere 11 中更改数据库用户名和数据库组名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24607341/

相关文章:

Java - 检查 SqlSessionFactory 是否有效

mysql - 使用条件计算mySQL中的时间差

c# - 为什么 Reverse() 不能转换成 SQL?

SQL 不带游标的存储过程输出多行

mysql - 当 child 数学标准时选择父记录

database - 用于删除的 Sybase 游标

asp.net nHibernate 从映射的 View 中选择数据

PHP/MySQL 从数据库中取出一个表,但从表中排除一个字段?

java - Derby : No Current Connect?

mysql - 使用 MS Access 作为 MySQL 数据库后端的前端的问题?