远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从http://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站http://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 点击这里给我发消息
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

显示有关角色的信息

4-2 列出了要用于查找有关角色的信息的系统过程和函数。

4-2:查找有关角色的信息

显示有关信息

使用

请参见

角色名的角色 ID

role_id 系统函数

96 页上的“查找角色 ID 和 名称”

角色 ID 的角色名

role_name 系统函数

96 页上的“查找角色 ID 和 名称”

系统角色

show_role 系统函数

96 页上的 “查看活动的系 统角色”

角色层次和授予用户的角色

sp_displayroles 系统过程

96 页上的 “显 示角色层 次”

角色在角色层次中是否包含其它角色

role_contain 系统函数

96 页上的 “查看层次中的 用户角色”

两个角色是否为互斥

mut_excl_roles 系统函数

97 页上的 “确定互斥性”

为当前会话激活的角色

sp_activeroles 系统过程

97 页上的 “确 定角色激 活”

是否已激活正确角色以执行过程

has_role 系统函数

97 页上的 “检查存储过程 中的角色”

登录 (包括授予的角色)

sp_displaylogin 系统过程

69 页上的 “获取有关登录 帐户的信息”

用户、组或角色权限

sp_helprotect 系统过程

182 页上的 “权限报告”


查找角色 ID 和名称


若要在已知角色名时查找角色 ID,请使用:

role_id(role_name)

任何用户都可以执行 role_id。如果角色有效,则 role_id 返回角色在全服 务器范围内的 ID ( srid )syssrvroles 系统表包含一个含有角色 ID srid 列和一个含有角色名的 name 列。如果角色无效,则 role_id 返回 NULL

若要在已知角色 ID 时查找角色名,请使用:role_name :

role_name(role_id)

任何用户都可以执行 role_name


查看活动的系统角色


显示角色层次


使用 show_role 为指定登录显示当前活动的系统角色:

show_role()

如果没有激活任何系统角色,则 show_role 返回 NULL。如果用户是数 据库所有者,并且在使用 setuser 模拟其他用户后执行 show_role,则 show_role 返回用户自己的活动系统角色,而不是所模拟用户的角色。

任何用户都可以执行 show_role


image

注释 show_role 函数不提供有关用户定义角色的信息。

image


您可以使用 sp_displayroles 查看授予您的登录名的所有角色,或查看以 表格格式显示的整个角色层次树:

sp_displayroles {login_name | rolename [, expand_up | expand_down]}

任何用户都可以执行 sp_displayroles 来查看自己的角色。只有系统安全 员可以查看有关授予其他用户的角色信息。


查看层次中的用户角色

可以使用 role_contain 确定任何指定角色是否包括其它指定角色:

role_contain (["role1", "role2"])

如果 role2 包含 role1,则 role_contain 返回 1。 任何用户都可以执行 role_contain


确定互斥性


可以使用 mut_excl_roles 函数,确定为用户指派的任意两个角色是否互 斥以及它们的互斥级别:

mut_excl_roles(role1, role2, {membership | activation})

任何用户都可以执行 mut_excl_roles。如果指定的角色或任何被指定角色 包含的角色是互斥的,则 mut_excl_roles 返回 1 ;如果角色不互斥,则 mut_excl_roles 返回 0


确定角色激活


若要查找 Adaptive Server 的当前登录会话的所有活动角色,请使用:

sp_activeroles [expand_down]

expand_down 显示任何授予用户的角色所包含的所有角色的层次。 任何用户都可以执行 sp_activeroles


检查存储过程中的角色

可以在存储过程中使用 has_role 来保证仅具有特定角色的用户可以执行 此过程。只有 has_role 可提供一种可靠方法,帮助防止对特定存储过程 的不适当访问。

可以使用 grant execute,授予所有被授予指定角色的用户执行存储过程 的权限。类似地,可使用 revoke execute 撤消这种权限。

然而, grant execute 权限不会阻止为没有指定角色的用户授予存储过程 的执行权限。例如,若要确保绝不会为不是系统管理员的所有用户授予 执行存储过程的权限,请在存储过程本身内使用 has_role,检查调用用 户是否有执行该过程的正确角色。

has_role 为所需角色带一个字符串并在调用者拥有它时返回 1,否则返回 0。 例如,下面是一个使用 has_role 查看用户是否有 sa_role 角色的过程:

create proc test_proc as

if (has_role("sa_role") = 0) begin

print "You dont have the right role"

return -1

end else

print "You have System Administrator role" return 0




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。

ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

本工具的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------