远程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. 实用程序指南

 


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

使用代理授权


利用 Adaptive Server 的代理授权功能,系统安全员可以将另一用户的安 全环境的使用权限授予所选登录名,且应用程序可采用受控方式代表不 同用户执行任务。如果某个登录名具有代理授权的使用权限,此登录名 就可以模拟 Adaptive Server 中的任何其它登录名。


image

警告!使用另一用户标识的权限功能极强,应将其局限于受托的管理员 和应用程序。可以使用 grant set proxy ... restrict role 来限制用户在切换标 识时无法获取的角色。

image


执行 set proxy set session authorization 的用户利用被模拟用户的登录名 和服务器用户 ID 进行操作。登录名存储在 master..syslogins name 列 中,服务器用户 ID 存储在 master..syslogins suid 列中。这些值在整个 服务器上的所有数据库中都处于活动状态。


image

注释 set proxy set session authorization 在功能上完全相同,可以互换 使用。唯一的区别是 set session authorization ANSI-SQL92 兼容,而 set proxy Transact-SQL 扩展。

image


使用 set proxy 限制角色

授予 set proxy...restrict role 来限制在切换标识时无法获取的角色。

set proxy 的语法为:

grant set proxy to user | role

[restrict role role_list | all | system]

其中:

role_list — 限制目标登录名的角色列表。被授予者必须具有此列表 上的所有角色,否则 set proxy 命令将失败。

all — 确保被授予者只能对与被授予者具有相同角色 (或角色子 集)的用户运行 set proxy

system — 确保被授予者与目标登录名具有相同的系统角色集。

例如,以下语句将 set proxy 授予用户 “joe”,但限制他将标识切换为具 有 sasso admin 角色的任何用户 (但是,如果他已经具有这些角 色,则他可以对具有这些角色的任何用户执行 set proxy):

grant set proxy to joe

restrict role sa_role, sso_role, admin_role


如果 “joe”尝试将其标识切换为某个具有 admin_role 的用户 (在本示 例中,为 Our_admin_role)时,除非他已经具有 admin_role,否则此命令 失败:

set proxy Our_admin_role

Msg 10368, Level 14, State 1:

Server 's', Line 2:Set session authorization permission denied because the target login has a role that you do not have and you have been restricted from using.

joe”被授予 admin_role 并重试此命令后,此命令成功:

grant role admin_role to joe set proxy Our_admin_role

有关 set proxy 命令的详细信息,请参见 《参考手册:命令》。


执行代理授权


执行 set proxy set session authorization 时,遵循以下规则:

不得在事务内执行 set proxy set session authorization

不能为另一用户的代理使用锁定的登录。例如,如果 “joseph”是 一个锁定的登录名,则不允许执行以下命令:

set proxy "joseph"

可以在任何允许使用的数据库中执行 set proxy set session authorization。但所指定的 login_name 必须是数据库中的有效用户, 或者,数据库必须要有为其定义的 “guest”用户。

只允许一个级别;若要模拟多个用户,则在模拟操作之间必须返回 到原标识。

如果在某个过程内执行 set proxy set session authorization ,则原标 识会在退出此过程时自动恢复。

如果已授予某一登录名使用 set proxy set session authorization 的权限, 则可以设置代理来模拟另一用户。以下是语法,其中 login_name master..syslogins 中的有效登录名。

set proxy login_name

或者

set session authorization login_name

为登录名加上引号。


例如,若要将代理设置为 “mary”,请执行:

set proxy "mary"

设置代理后,检查服务器中的登录名和数据库中的用户名。例如,假定 登录名为 “ralph”,并具有 set proxy 授权权限。现在打算以 “sallyn” 和 “rudolph”身份在 pubs2 数据库中执行某些命令。“sallyn”在此数 据库中有一个有效的名称 ( sally),而 Ralph Rudolph 没有。但 pubs2 已定义了一个 “guest”用户。则可以执行:

set proxy "sallyn" go

use pubs2 go

select suser_name(), user_name() go

--- ---------- ---------- ------- - ---------- --------

sallyn sally

若要更改为 Rudolph,必须首先恢复自己的标识。为此目的,请执行:

set proxy "ralph"

select suser_name(), user_name() go

--- ---------- ---------- ------- - ---------- ---------

ralph guest

注意:Ralph 是此数据库中的 “guest”。 然后执行:

set proxy "rudolph" go

select suser_name(), user_name() go

--- ---------- ---------- ------- - ---------- ---------

rudolph guest

Rudolph 也是此数据库中的 guest,因为 Rudolph 不是此数据库中的有效 用户。

现在,模拟 “sa”帐号。执行:

set proxy "ralph" go

set proxy "sa" go

select suser_name(), user_name() go

--- ---------- ---------- ---- ---- ---------- ------

sa dbo


应用程序的代理授权


6-1 显示使用通用登录名 “appl”登录到 Adaptive Server 为多个用户 执行过程和命令的应用程序服务器。一旦 “appl”模拟 Tom,应用程序 就有 Tom 的权限。同样,“appl”分别模拟 Sue John 时,应用程序便 分别有 Sue John 的权限。

6-1:应用程序和代理授权

TomSue John 建立与应用程序 服务器的会话:

image

image

image

Tom Sue John


image

使用 set proxy

权限作为 “appl”登录。

image

使用 set proxy

权限作为 “appl”登录。

应用程序服务器

Adaptive Server 上的应用程序服 务器 (“appl”)执行:


set proxy "tom"

image

image

Tom SQL 命令)


set proxy "sue"

Sue SQL 命令)



image

应用程序服务器 Adaptive Server

set proxy "John"

John SQL 命令)




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------