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

 


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

create database

说明 创建新数据库。

语法 用于非集群环境的语法:

create [inmemory] [temporary] database database_name

[use database_name as template]

[on {default | database_device} [= size] [, database_device [= size]]...]

[log on database_device [= size]

[, database_device [= size]]...]

[with {dbid = number, default_location = "pathname", override}]

| [[,]durability = { no_recovery

| at_shutdown

| full} ]

[, [no] async_init]

[ [,] compression = {none | row | page}]

[ [,] lob_compression = {compression_level | off}] [ [,] inrow_lob_length = value ] }...

[for {load | proxy_update}]

用于集群环境的语法:

create [ [ global | system ] temporary ] database database_name

[ for instance instance_name ]

[on {default | database_device} [= size] [, database_device [= size]]...]

[log on database_device [= size]

[, database_device [= size]]...]

[with {override | default_location = "pathname"}] [for {load | proxy_update}]

参数 temporary

指示您正在创建一个临时数据库。

inmemory

内存数据库的必选参数。

database_name

是新数据库的名称,必须符合标识符规则,并且不能是变量。


on

指示数据库的位置和大小。


default

指示 create database 可将新数据库放到任何缺省数据库设备上,如 sysdevices.status 中所示。若要指定数据库的大小而不指定位置,请使 用:


on default = size

若要将数据库设备的状态更改为 “ default”,请使用 sp_diskdefault

database_device 是用于定位数据库的设备的逻辑名。一个数据库可以在每个不同的数 据库设备上占用不同的空间量。若要在 Adaptive Server 中添加数据库 设备,请使用 disk init

size

是分配给数据库扩展的空间量。可以使用以下单位指示符,并交替使 用大写、小写、单引号和双引号:“k”或 “K”(千字节)、“m” 或 “M”(兆字节)、“g”或 “G”(千兆字节)以及 “t”或 “T

(兆兆字节)。 Sybase 建议始终包括单位指示符。如果不包括单位指 示符,则引号是可选的。不过,如果包括单位指示符,则必须使用引 号。如果不提供单位指示符,则假定提供的值的单位为兆字节。

log on

指定数据库日志设备的逻辑名。您可以在 log on 子句中指定多个设备。

with

可按任意顺序指定。在使用 with 子句时,必须至少指定下列选项之一:

with dbid = number – 为新数据库指定 dbid。如果不显式指定 dbid, 服务器将指派一个未使用的 dbid

with default_location – 指定新表的存储位置。如果还指定了 for proxy_update 子句,则会从指定位置为每个远程表或视图自动创 建一个代理表。

with override – 强制 Adaptive Server 接受设备规范,即使同一设备 上混合有数据和事务日志也是如此,因此会危及数据库的最新数 据的可恢复性。如果试图不使用此子句在同一设备上混合日志和 数据,则 create database 命令会失败。如果混合了日志和数据并 且使用 with override,将会收到警告,但命令会成功执行。


durability =

确定数据库的持久性级别:

full – 将所有事务都写入磁盘。如果创建数据库时不指定持久性 级别,此值将为缺省值,以确保从服务器故障中完全恢复。所有 系统数据库都使用此持久性级别 (用于磁盘驻留式数据库的传统 持久性级别)。

no_recovery – 事务不在磁盘中持久存在,如果服务器出现故障或 关闭,则所有更改都将丢失。对于基于磁盘的数据库, Adaptive Server 会在运行时以不可控方式定期向磁盘设备中写入数据。用 no_recovery 创建的数据库以任意方式 (正常、非正常或服务器故 障及重新启动)关闭后均无法恢复,但可以基于 model 或模板

(如果已定义)数据库重新创建该数据库。

at_shutdown – 在服务器运行时以及正常关闭后,事务是持久性 的。如果服务器出现故障,所有持久性都将丢失。

[no] async_init

启用或禁用异步数据库初始化。

compression

指示要对新创建的表或分区应用的压缩级别:

none – 不压缩数据。

row – 压缩单个行中的一个或多个数据项。只有在压缩形式比非 压缩形式更节省空间时, Adaptive Server 才会用 row 压缩形式存 储数据。

page – 当页面已满时,则会使用页级压缩来压缩现有的采用行 压缩形式的数据行,从而创建页级字典、索引和字符编码条目。

Adaptive Server 只有在已经在行级压缩数据后才会在页级压缩数 据,因此,将压缩设置为 page 意味着 page row 压缩。


lob_compression = off | compression_level

确定新创建的表的压缩级别。选择 off 意味着表不使用 LOB 压缩。 压缩算法忽略不使用 LOB 数据的行。 表压缩级别。压缩级别包括:

• 0 – 不压缩行。

• 1 9 Adaptive Server 使用 ZLib 压缩。通常,压缩级别数字越 大, Adaptive Server 压缩 LOB 数据的程度就更大,压缩和非压缩 数据之间的比率就越大 (也就是说,压缩数据与非压缩数据大小 相比,节省的空间量就越大 (以字节为单位))。

但是,压缩量取决于 LOB 内容,压缩级别越高,进程的 CPU 占 用率就越高。也就是说,级别 9 提供最高压缩率,但其 CPU 使用 率也最高。

• 100 Adaptive Server 使用 FastLZ 压缩。此压缩率的 CPU 占用率 最低;通常在数据较少时使用。

• 101 Adaptive Server 使用 FastLZ 压缩。值 101 使用的 CPU 比值

100 略多,但压缩率比值 100 高。

inrow_lob_length = value

指定字节数。 inrow_lob_length 的有效值范围是 0 到数据库的逻辑页大 小。值为 0 会在数据库范围关闭 LOB 指定,而且,所有不带特定

in row 子句的 LOB 列都将创建为行外 LOB 列。

dml_logging

指定 DML 操作的日志记录级别。

full | minimal

指定 DML 操作的完全日志记录或最少日志记录。

for load

调用只能用于装载数据库转储的 create database 命令的改进版本。请 参见 113 页的 “使用 for load 选项

for proxy_update 从远程位置自动获取元数据并且创建代理表。除非也指定了 with default_location,否则不能使用 for proxy_update

global temporary

指示您正在创建一个全局临时数据库。

system temporary

指示您正在创建一个本地系统临时数据库。


temporary

指示您正在创建一个临时数据库。

for instance instance_name 指定将拥有您正在创建的本地系统临时数据库或本地临时数据库的实 例。在创建全局临时数据库时,不使用此参数。


image

注释 您必须从将拥有该数据库的实例中创建本地用户临时数据库。您 可以从任何实例中创建本地系统临时数据库。

image


示例 示例 1 创建名为 pubs 的数据库:

create database pubs

示例 2 创建一个名为 pubs 4MB 的数据库:

create database pubs on default = 4

如果不为 size 提供单位指示符,则假定为 pubs 提供的值的单位为兆字节。

示例 3 创建一个名为 pubs 的数据库并且在 datadev 设备上有 3MB,在

moredatadev 设备上有 2MB 空间:

create database pubs

on datadev = "3M", moredatadev = '2.0m'

示例 4 创建一个名为 pubs 的数据库并且在 datadev 设备上有 3MB 的数 据,在 logdev 设备上有 0.5GB 的日志:

create database pubs on datadev='3m'

log on logdev='0.5g'

示例 5 创建名为 proxydb 的代理数据库但不自动创建代理表:

create database proxydb with default_location "UNITEST.pubs.dbo."

示例 6 创建名为 proxydb 的代理数据库并且自动创建代理表:

create database proxydb on default = "4M"

with default_location "UNITEST.pubs2.dbo." for proxy_update

示例 7 创建名为 proxydb 的代理数据库,并且从一个远程数据库检索所有 远程表的元数据:


create database proxydb on default = 4

with default_location "UNITEST.pubs2.."

for proxy_update

示例 8 创建一个名为 pubsdbid 15 的数据库:

create database pubs with dbid = 15

示例 9 创建一个名为 mytempdb1 的临时数据库,它在 datadev 设备上有

3MB 的数据,在 logdev 设备上有 1MB 的日志:

create temporary database mytempdb1

on datadev = '3m' log on logdev = '1M'

示例 10 在集群环境中,在 “ase1”上创建一个本地用户临时数据库。 从所有者实例 (“ase1”)中执行以下命令:

create temporary database local_tempdb1 for instance ase1

或:

create temporary database local_tempdb1

示例 11 在集群环境中,在 “ase1”上创建一个本地系统临时数据库。从 集群中的任何实例执行此命令:

create system temporary database local_systempdb1 for instance ase1

示例 12 在集群环境中,创建一个全局临时数据库:

create global temporary database global_tempdb1

示例 13 在两个不同的内存存储设备 (用于数据的 imdb_data_dev1 和用 于日志的 imdb_logdev)上创建一个内存数据库:

create inmemory database imdb2 on imdb_data_dev1 = '1.0g'

log on imdb_logdev = '0.5g' with durability = no_recovery

示例 14 在多个内存- 存储设备上创建一个内- 存数据库。 imdb_data_dev1

imdb_data_dev2 包含所有数据, inmem_logdev 包含日志:

create inmemory database imdb3 on imdb_data_dev1 = '100m',

imdb_data_dev2 = '200m' log on inmem_logdev = '50m' with durability=no_recovery


示例 15 使用 pubs2 数据库作为模板创建 pubs5 数据库:

create inmemory database pubs5 use pubs2 as template

on imdb_duck1_cach = '5m' log on imdb_duck_log = '5m' with durability = no_recovery

示例 16 创建一个名为 pubs5_rddb 的宽松持久性数据库:

create database pubs5_rddb on pubs5_dev = '6M' log on pubs5_log = '2M'

with durability = at_shutdown

示例 17 创建一个供内存临时数据库专用的内存存储高速缓存:

1 创建内存存储高速缓存:

sp_cacheconfig inmem_tempdb_cache, "40m", inmemory_storage, "none", "cache_partition=2"

2 创建内存设备以创建临时数据库:

DISK INIT name = "inmem_dev"

, physname = "inmem_tempdb_cache"

, size = "40m"

, type='inmemory'

3 创建内存数据库:

create inmemory temporary database temp_imdb on inmem_dev = "20m"

with durability = no_recovery

示例 18 在现有磁盘设备上创建一个临时数据库,持久性设置为

no_recovery

create temporary database tempdb_rddb_norec on datadev = "5m" log on logdev = "5m" with durability = no_recovery

示例 19 创建 emaildb 数据库,并为其配置页级压缩:

create database emaildb on email_dev = '50M' with compression = page

示例 20 创建 email_lob_db 数据库,并为其配置 101 LOB 压缩级:

Create database email_lob_db on email_lob_dev = '50M' with lob_compression = 101


示例 21 创建一个名为 pubs 的数据库,允许长度为 300 字节的行内 LOB

数据:

create database pubs

with inrow_lob_length = 300

用法 master 数据库使用 create database

您可以将 size 指定为 float 数据类型,但它会向下取整为分配单元的 整数倍。

如果不显式声明数据库的大小,则其大小由 model 数据库的大小决 定。能创建的数据库的最小大小为四个分配单元。

因为 Adaptive Server 以包含 256 个逻辑页的块为单位为 create database alter database 分配数据库空间,这些命令会将指定大小 向下取整为最接近的分配单元的整数倍。

如果不包括单位指示符,Adaptive Server 将按照磁盘空间使用的兆字 节单位来解释大小,此数值会被转换为服务器使用的逻辑页大小。

如果不为数据库指定位置和大小,则缺省位置为 master..sysdevices 中指示的任何缺省数据库设备。缺省大小是 sysconfigures 中的参数 default database size model 数据库大小二者之中的较大值。

系统管理员可以使用 sp_configure 更改 default database size 的值并重 新启动 Adaptive Server 来增加缺省大小。default database size 参数的 值必须至少与 model 数据库的大小一样大。如果增加 model 数据库 的大小,则还必须增加缺省大小。

如果 Adaptive Server 不能在您要求的位置提供您需要的空间大小,它 会在每个设备的基础上分配尽可能相近的空间,并显示一条消息告 诉您分配的空间大小和分配的位置。数据库的最大大小取决于系统。

如果使用下面的语句创建代理数据库:

create database mydb on my_device

with default_location = "pathname" for proxy_update

设备名的存在足以绕过大小计算,并且如果缺省数据库的大小

model 数据库的大小)不足以容纳所有的代理表,则此命令可能会 失败。

要想允许 CIS 估计数据库大小,则不要在该命令中包括任何设备名 或其它选项:

create database mydb

with default_location = "pathname" for proxy_update


限制

• Adaptive Server 可以管理多达 32,767 个数据库。

dbid 应始终大于零,小于最大 dbid 32,767

• Adaptive Server 一次只能创建一个数据库。如果两个数据库创建请 求发生冲突,一位用户会看到以下消息:

model database in use:cannot create new database

每次您在数据库设备上用 create database alter database 分配空间 时,分配代表一个设备段,并且分配是作为一行在 sysusages 中输入 的。

数据库最多可有 32 个命名段。段是特定 Adaptive Server 的可用数据 库设备的命名子集。有关段的详细信息,请参见 《系统管理指南》。

临时数据库

不能将 with default_location for proxy_update 参数和 create temporary database 命令一起使用。这样做会生成错误,如以下两个示例:

1> create temporary database tb1 with default_location "remSERVER.mydb.."

Msg 102, Level 15, State 7:

Server 'ebi_SUS_AS125x_SUN32', Line 1:

Incorrect syntax near 'create temporary database'.

1> create temporary database tb1 with default_location for proxy_update

Msg 102, Level 15, State 7:

Server 'ebi_SUS_AS125x_SUN32', Line 1:

Incorrect syntax near 'create temporary database'.

数据库的临时状态是在创建临时数据库时设置的,由 sysdatabases

条目的 status3 字段的值 0x00000100 (十进制 256)表示。

除了从 model 继承来的所有选项,临时数据库 (如系统 tempdb)有 以下的数据库选项集:

select into/bulkcopy

trunc log on chkpt

对于系统 tempdbguest 用户被添加到临时数据库中,并且将

create table 权限授予给 PUBLIC

由于服务器每次重新启动时都会重新创建临时数据库,因此在临时 数据库创建过程中不会清除未用页。


创建压缩数据库

create table . . .with compression 的压缩设置会覆盖 create database 压缩 设置。

select into 创建的临时数据库不会继承数据库中的压缩级别。

model 数据库中的缺省压缩设置是 none (对所有基于 model 数据库 都关闭数据压缩)。

当您在 tempdb 或其它临时数据库中启用数据压缩后,在某个会话中 或在存储过程内创建的临时表不会继承 tempdb 的压缩级别。

任务绑定到的数据库决定它所创建的临时数据库的压缩级别。

创建具有行内 LOB 的数据库

行内大小可以和数据库中允许的最大行大小一样大。 Adaptive Server 降低了插入和更新期间各个列的行内 LOB 存储大小限制,具 体依据是单个页中的可用存储空间减去所有页或行开销。

当您在已经指定了数据库范围的有效行内 LOB 长度的数据库中创 建表时,表中的所有 LOB 列都将被创建为行内,除非您在列定义 的语法中指定了 off row。列的行内长度 (以字节为单位)是由该数 据库范围的设置指定的。

inrow_lob_length 设置的缺省值是 0 字节,当您升级到 Adaptive Server 15.7 版后,该值不会导致现有数据库发生任何行为变化。更改该缺 省值能让对行内存储有着不同要求的应用程序控制在行内存储多少 LOB 数据。

数据库范围的设置仅适用于新创建的表或在应用或更改数据库范围 的设置后添加到现有表中的 LOB 列。最初创建表时每个 LOB 列继 承的行内 LOB 长度保持不变,即使数据库范围的设置发生了变化 也是如此。要更改各个 LOB 列的行内长度或行内属性,请使用 alter table modify column

若要更改缺省长度,请使用 alter database inrow_lob_length 参数。

创建内存数据库和宽松持久性数据库

为内存数据库列出的 database_device 必须为内存存储设备。

for load 参数指示最初创建数据库时,数据库处于等待使用 load database 命令装载的状态。

您不能:

在缺省设备上创建内存数据库。

将内存数据库用于系统数据库 (tempdb 除外)。


将内存数据库用作存档数据库。 Sybase 建议您不要将内存数据 库用作空数据库。

对您创建的数据库及其模板数据库使用同一名称。

将系统数据库 (包括 model)指定为模板数据库。

将基于磁盘和基于高速缓存的存储设备混合。 Adaptive Server 将完全在内存存储高速缓存中创建的数据库视为内存数据库。 您不能:

将在不同内存存储高速缓存中创建的内存存储设备用于一 个内存数据库

将在一个内存存储高速缓存中创建的 (完全或部分)内存 存储设备用于不同的内存数据库

use as template 参数与 with default_location = 参数一起使用。

for load for proxy update 参数与 use as template 参数一起使用。

您可以:

在驻留于指定高速缓存上的内存存储设备中创建内存数据库, 前提是所有内存存储设备都由内存存储高速缓存托管。

在同一内存存储设备中创建混合日志和数据的内存数据库。但 是,混合日志和数据的内存数据库必须位于单个高速缓存中。

创建内存数据库时需要使用 durability = no_recovery 参数。此参数可 加强在重新启动服务器时始终重新创建内存数据库的行为。

model 创建的新数据库

• Adaptive Server 通过复制 model 数据库创建新的数据库。

可以通过添加表、存储过程、用户定义数据类型和其它对象以及更 改数据库选项设置来自定义 model。新的数据库从 model 继承这些对 象和设置。

为了保证可恢复性,create database 必须清除在复制 model 数据库时 没有初始化的每一页。这可能会需要几分钟,取决于数据库的大小 和您系统的速度。

如果正在创建一个数据库来装载数据库转储,可以用 for load 选项跳 过页清除步骤。这样会极大地加快数据库创建过程。


确保数据库可恢复性

每次创建新数据库时,备份 master 数据库。如果 master 损坏,这样 做可使恢复过程更加容易和安全。


image

注释 注意:如果您创建一个数据库但 master 备份失败,则可以用

disk reinit 来恢复所做的更改。

image


with override 子句允许您在单个设备上混合日志和数据段。然而,为 了完全恢复,该设备和 log on 中指定的多个设备应该与存储数据的 物理设备不同。在硬盘发生故障的情况下,可以从数据库转储和事 务日志恢复数据库。

您可以在用于存储事务日志和数据的单个设备上创建小数据库,但 是您 必须 依赖 dump database 命令来备份。

事务日志所需的设备大小因更新活动量和事务日志转储频率不同而 有所不同。作为经验法则,一般为日志设备分配的空间应为数据库 空间的 10-25 %。最好从小的值开始,因为给事务日志设备分配的 空间不能回收并且不能用来存储数据。

使用 for load 选项

如果还没有使用 sp_addsegment 添加到数据库,您可以使用 for load 选项 从介质故障中恢复或是将数据库从一台计算机移到另一台计算机上。使 用 alter database for load 创建一个新数据库,该数据库与从中创建了要装 载的数据库转储的数据库结构相同。有关将转储装载到新数据库时重复 进行空间分配的讨论,请参见 《系统管理指南》。

当使用 for load 选项创建数据库时,装载数据库转储之前在新数据库 中只能运行如下命令:

alter database for load

drop database

load database

在将数据库转储装载到新数据库之后,您还可以在数据库中使用一 些 dbcc 诊断命令。发出 online database 命令之后,对您可以使用哪 些命令没有限制。

使用 for load 选项创建的数据库在 sp_helpdb 输出中有状态 “dont recover”。

获取有关数据库的信息

若要获取有关数据库的报告,请执行 sp_helpdb

若要获取数据库使用空间的报告,请使用 sp_spaceused


使用 with default_location for proxy_update

如果无 for proxy_update 子句,则 with default_location 子句的行为与 sp_defaultloc 所提供的行为相同 建立缺省的存储位置来创建新表和现有 表,但在处理 create database 的过程中不会自动导入代理表定义。

如果指定 for proxy_update 时不指定 default_location,则报告错误。

使用 for proxy_update 选项创建代理数据库后,将调用 CIS 来执行以 下操作:

提供包含所有代理表所需的数据库大小估计值,代理表表示在 主服务器的数据库中找到的实际表和视图。此估计值是包含所 有代理表和索引所需的数据库页数。如果未指定大小和数据库 设备,则使用此估计值。

创建表示在协同服务器的数据库中找到的实际表和视图的所有 代理表。

将代理表的所有权限授予 public

在代理数据库中添加 guest 用户。

设置数据库的状态以指示该数据库 “Is_A_Proxy”。该状态包 含在 master.dbo.sysdatabases.status3 中。

标准 符合 ANSI SQL 的级别Transact-SQL 扩展。

权限 create database 的权限检查因您的细化权限设置而异。

image

细化权限已启用 在启用细化权限的情况下,您必须具有 create database 特权。如果要创建

sybsecurity 数据库,您必须具有 manage auditing 特权。

细化权限已禁用 在禁用细化权限的情况下,您必须为系统管理员或具有 create database 特权。 如果要创建 sybsecurity 数据库,则您必须是系统安全员。


审计 sysaudits event extrainfo 列中的值如下:

image

事件 审计选项 审计的命令或访问权限 extrainfo 中的信息

9 create create database 角色 – 当前活动角色

关键字或选项 NULL

先前值 NULL

当前值 NULL

其它信息 NULL

代理信息 set proxy 有效时的初始登录名


另请参见 命令 alter database, disk init, drop database, dump database, load database, online database.

系统过程 sp_changedbowner, sp_diskdefault, sp_helpdb, sp_logdevice, sp_renamedb, sp_spaceused.




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