随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从https://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站https://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!
如有Sybase数据库技术问题需要咨询,请联系我!
以下官方手册为ASE 15.7 ESD#2中文版:
- 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
- 新增功能摘要
- 新增功能指南
- ASE 15.7 发行公告
- 配置指南(windows)
- 安装指南(windows)
- 参考手册:构件块
- 参考手册:命令
- 参考手册:过程
- 参考手册:表
- Transact-SQL® 用户指南
- 系统管理指南,卷 1
- 系统管理指南,卷 2
- 性能和调优系列:基础知识
- 性能和调优系列:锁定和并发控制
- 性能和调优系列:监控表
- 性能和调优系列:物理数据库调优
- 性能和调优系列:查询处理和抽象计划
- 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
- 性能和调优系列:利用统计分析改进性能
- 程序员参考 jConnect for JDBC 7.0.7
- Adaptive Server Enterprise 中的 Java
- 组件集成服务用户指南
- Ribo 用户指南
- 内存数据库用户指南
- Sybase Control Center for Adaptive Server® Enterprise
- 安全性管理指南
- 实用程序指南
transfer table
说明 启动增量表传输。
语法 transfer table [[db.]owner.]table [to | from] destination_file
[ for { ase | bcp | iq | csv } ]
[ with {column_separator=string}, {column_order=option},
{encryption=option}, {row_separator=string},
{resend=id}, {progress=sss}, {tracking_id=nnn}
{sync = true | false]}, {fixed_length = true | false}
, null_byte = true | false}]
参数 table
Adaptive Server 中的任何有效表。transfer table 需要 sa_role 或表的所有 权。表所有者可以授予自己拥有的表的 transfer table 权限。
to | from
指示传输方向。不能对 transfer table...from 使用用于 transfer table...to 的 所有参数。 from 参数的参数是:
• column_order=option (不适用于使用 for ase 进行的装载;保留以 备后用)
• column_separator=string (不适用于使用 for ase 进行的装载;保留 以备后用)
• encryption={true | false}(不适用于使用 for ase 进行的装载;保留以 备后用)
• progress= nnn
• row_separator=string (不适用于使用 for ase 进行的装载;保留以 备后用)
destination_file
对操作系统有效的、 Adaptive Server 可以访问的任何文件或路径名。 如果文件是相对文件路径,则 Adaptive Server 提供其绝对路径。如果 Adaptive Server 无法打开 destination_file,它将发出错误消息。
如果满足以下所有条件, Adaptive Server 将删除目标文件:
• 文件是常规文件,不是命名管道、符号链接或其它特殊文件。
• Adaptive Server 在此传输过程中打开文件。
• 传输失败,或没有发送任何行。
for 子句
指定目标数据格式之一。如果省略 for 子句,则指定表的第一次传输 的缺省值为 for ase。后续传输的缺省值为以前的成功传输使用的格 式,除非命令指定格式 with resend = id,在这种情况下,缺省值是以 前指定的传输格式。
• ase – 用于将数据导入 Adaptive Server 的格式。此输出格式是许 可的功能,可供 RAP 客户和具有内存数据库许可证的客户使用。 不应用任何数据转换。此文件格式包括用于描述表的标头,其中 包括源计算机的字节顺序、字符集和缺省排序顺序。这是以前没 有成功传输的表的缺省值。
• bcp – 用于将数据作为 bcp 二进制格式数据导入的格式。将行作 为可使用 bcp 装载的二进制数据输出。不应用任何数据转换。在 传输过程中, Adaptive Server 创建一个 bcp 用于描述数据的格式 文件,并与输出文件显示在同一目录中。
不能使用 for bcp 传输命名管道。
如果输出文件是命名管道以外的任何文件类型,则 Adaptive Server 对格式文件使用以下命名约定:
{table_name},{database_id},{object_id}.fmt
• iq – 采用适合使用 IQ 的 load table 命令装载到 Sybase IQ 中的格式 写入数据。 Adaptive Server 采用二进制格式将数据写入到文件 中,并应用任何必要的数据转换以将其数据类型转换为与 IQ 兼 容的版本。除非包括 with fixed_length='true' 或 with null_byte='true' 修 饰符,否则 for iq 会采用缺省格式写入数据:
• 缺省格式 – 可为空的数据包括一个后续的 “空字节”,这个 单字节标识符包含:
• 0 (如果列非空)
• 1 (如果列为空)
不可为空的数据不包括此空字节 (请参见 IQ 文档的 load table)。可变长度的字符串前面有指示字符串长度的一个或两 个字节,其中前缀字节数由列的最大长度决定:一个字节代 表字符串最多有 255 个字节,而两个字节代表字符串有 256 个 字节或更长 (Adaptive Server 支持字符串最多有 16000 个字节 左右)。除了字符串以外,将每个列作为固定宽度进行传输, 如有必要,将进行填补以将其扩展到此固定宽度大小。
• 使用以下修饰符确定数据格式:
• with fixed_length='true' – 将所有列 (包括字符串)填补到 其完整宽度。使用空白填补字符串;使用 <NUL> 或 0x00 填补其它列。没有任何列具有长度指示符
• with null_byte='true' – 所有列都必须具有空字节,而不管 列是否可为空。此修饰符强制 for iq 使用 fixed_length='true’ 修饰符,而不管命令指定的是什么
• csv – 字符编码值格式。将行作为字符编码数据输出。用指定的 列分隔符分隔列,用指定的行终结符终结行。分隔符和终结符由 用户定义。
with 子句 提供用于修改命令操作的选项。
column_separator = string
声明在 csv 格式的输出列之间写入的字符串,替换缺省值。为后续传 输写入的字符串缺省为以前指定的 column_separator。
column_order = option
声明将列数据写入到输出的顺序。这些选项有:
• id – 按 syscolumns 中提供的列 ID 排序。这是传输为 for bcp 时唯 一可接受的列顺序,并且是这些传输的缺省值。
• name – 使用 Adaptive Server 当前字符集和排序顺序,按
syscolumns 中提供的列名排序。
• name_utf8 – 按 syscolumns 中提供的列名排序,在排序之前将列 名转换为 UTF8 字符。
• offset – 按数据行中的列偏移排序。这是传输为 for ase 时唯一可 接受的列顺序,并且是这些传输的缺省值。
如果使用的 column_order 与 for 子句格式不匹配,则 Adaptive Server 会 发出错误消息。列顺序有:
• for ase – 使用 offset 列顺序
• for bcp – 使用 id 列顺序
encryption = option
指定命令如何处理加密列。选项有:
• true – 在传输前解密列。该值为缺省值。用户必须有权解密任何 加密列。
• false – 完全按照加密列在数据行中的显示传输加密列。
注释 若要恢复数据,接收方必须知道加密密钥和用于加密数据的算 法。如果 Adaptive Server 将加密数据写入文件,则会按照数据第一次存 储在表中时的加密方式写入数据。传输数据不会更改该方式。若要恢复 该数据,接收方必须知道加密数据的密钥和加密算法的任何特殊功能
(例如,是否使用初始化矢量)。
progress = sss
指示传输应在操作期间每 sss 秒生成一次进度消息。缺省设置为省略 进度消息。
row_separator = string
声明要在 csv 格式的每个输出行末尾写入的字符串,替换缺省值。此 选项无效,除非传输为 for csv。与 column_separator 一样,第一次之后 的 csv 模式的所有传输的缺省值为最近成功的传输的缺省值。缺省行 分隔符因平台而异:在 Linux 和 UNIX 上为换行符 (Ctrl+J),在 Windows 上为回车和换行符 (Ctrl+M Ctrl+J)。
resend =id
标识其序列 ID 列获取此数据传输的开始时间戳的表的历史记录条 目。此选项重新发送以前发送的数据。除非命令中指定的表标记为增 量传输,否则将忽略 resend = id。如果此表中不存在指定的 sequence ID,则 Adaptive Server 将重新发送整个表。
Adaptive Server 选择指示的条目的开始时间戳作为此传输的开始时间 戳,并选择指示的条目的目标类型 (ase、 bcp 等)作为传输的缺省 目标类型。
id 的负值会检索指定表的以前成功完成的传输的历史记录条目。- 1 指 定最近成功完成的传输,- 2 指定下一个最近的,依次类推。传输历史 记录表同时存储成功的和失败的传输的条目。
tracking_id =nnn
指定帮助跟踪给定传输的可选整数标识符。使用 spt_TableTransfer.tracking_id 列确定 nnn 的值并在查询中使用该值。此 示例返回跟踪 ID 号 123 的编辑状态和序列 ID,以及输出数据文件的 完整路径 (如果这些值不存在,则返回 NULL):
select end_code, sequence_id, pathname from spt_TableTransfer where id = object_id('mytable') and tracking_id = 123
Adaptive Server 不控制 tracking_id 或要求它是唯一的。 注释 此跟踪 ID 不是用于 resend = id 的序列 ID。
sync = true | false
确定传输如何与事务交互。选项有:
• true – 将同步传输,以便将传输中包括的表中的行作为组进行捕 获。 transfer 等待影响此表的所有事务结束后才开始。在 transfer 等待开始期间,影响此表的新事务将无法修改此表。它们将等待 transfer 开始。在 transfer 进行过程中,事务在经过 transfer 检查之 前无法修改此表中的行。
• false – 不同步传输。 transfer 发送所选时间戳范围内的行,而不 管是否可以发送表中的其它行。这是缺省行为。
注释 sync 只影响要传输的表。 transfer 不考虑跨表约束。
fixed_length = true | false
确定 transfer...for iq 是否传输输出文件中作为固定长度字段的所有列。 通常, Adaptive Server 传输具有 1 或 2 个字节前缀长度的可变长度字 符串。将 fixed_length 设置为 true 会导致 Adaptive Server 使用空白填补 字符串,直到它们到达列的最大宽度。必须将此参数与 for iq 参数结 合使用。将 fixed_length 设置为:
• true – Adaptive Server 将字符串填补到其完整宽度,而不是使用 前缀长度。
• false – Adaptive Server 使用缺省行为发送字符串,即,使用前缀 长度发送字符串。
null_byte = true | false
确定 transfer...for iq 是否在每个传输列末尾附加一个字节,以指示列是 否为空。通常, Adaptive Server 只为可为空的列提供此字节。选项有:
• true – Adaptive Server 在所有列末尾包括一个空字节,如果列为 空,则为 0,否则为 1,而不管列是否可为空。true 强制 for iq 使用 fixed_length='true ’修饰符,而不管您使用 transfer 命令指定的是什 么。
• false – Adaptive Server 只为可为空的列提供空字节。
注释 注意:不管 null_byte 是设置为 true 还是 false,它只适用于包括 for iq 子句的传输。
示例 示例 1 为用户 “john”授予传输表 mytable 的权限:
grant transfer table on mytable to john
示例 2 将 mytable 传输到输出文件,其格式设置为用于装载到 Sybase IQ。 如果此示例未包括 name_utf8,则缺省顺序将为列 ID 顺序:
transfer table mytable to '/path/to/file' for iq with column_order = 'name_utf8'
示例 3 传输 mytable,其格式设置为 Adaptive Server 文件格式,使用 offset 的列输出顺序。此示例请求从不存在的历史记录条目执行 resend;因 此,将传输整个表:
transfer table mytable to '/path/to/file3/'for ase with resend=10
此示例更改 for ase 传输的缺省列顺序。传输后,缺省接收方为 ase,列 顺序为偏移,列和行分隔符为空。
用法 • transfer table 只发送上一次传输后更改的提交数据。
• with 子句中的 column_separator 和 row_separator 的 string 参数最多可 为 64 个字节长,并且可以包含格式设置指令:
• “\b”指示退格 <BS> (Ctrl+H)。
• “\n”指示换行符 <LF> (Ctrl+J)。
• “\r”指示回车 <CR> (Ctrl+M)。
• “\t”指示 <TAB> (Ctrl+I)。
• “\\”指示反斜杠。
• 字符串中不属于这些序列之一的任何 “\”是实际的反斜杠,并 在字符串中显示为反斜杠。
• transfer table .. from 不会在更新或插入期间引发触发器。
• 当 transfer table 在运行中发生错误(如重复键)时,Adaptive Server
会仅显示错误号,很难了解错误原因。例如:
Msg 2633, Level 20, State 1 Server 'SYB155', Line 1
TRANSFER TABLE failed to insert a row to table 'my_tab'. The indicated error was 2601.
Msg 16025, Level 16, State 1 Server 'SYB155', Line 1
TRANSFER TABLE my_tab:command failed with status 2633.
若要检索错误消息,可手动查询 master..sysmessages。例如,如果
2601 是错误号,请输入:
select * from master..sysmessages where error = 2601
有关错误 2601 的详细信息,请参见 《故障排除指南》。
传输未标记为增量传输的表
可以对未标记为增量传输的表使用 transfer table,并具有以下限制:
• 并非总是传输所有行。如果用户在传输进行过程中更新表,则可能 不会传输更新的行。
• 传输不是增量的;您只能传输整个表,并且不会向以后的传输通知 此传输。
• 不会向 spt_TableTransfer 写入任何历史记录条目。在传输持续期间, 传输显示在 monTableTransfer 中,但一旦传输完成,记录便消失。
权限 传输表的权限不会自动授予解密该表中数据的权限。若要解密任何加密 列,必须从表所有者获得特定权限。
下文说明了基于您的细化权限设置的 transfer table 的权限检查。
细化权限已启用 在启用细化权限的情况下,您必须是表所有者或是对表拥有 tranfer table 权限 的用户。
细化权限已禁用 在禁用细化权限的情况下,您必须是表所有者、具有 transfer table 权限的用户 或具有 sa_role 的用户。
审计 sysaudits 的 event 和 extrainfo 列中的值如下:
事件 |
审计选项 |
审计的命令或访问权限 |
136 |
transfer table |
transfer table |
事件 |
审计选项 |
审计的命令或访问权限 |
136 |
transfer table |
transfer table |
extrainfo 中的信息
另请参见 命令 create table、 alter table .
Sybase SQL Anywhere数据库恢复工具ReadASADB:
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具: ReadASADB。此工具支持ASA v5.0, v6.0, v7.0, v8.0, v9.0, v10.0, v11.0, v12.0, v16.0, v17.0等版本。
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具。
恢复Sybase SQL Anywhere的工具在国内处于领先水平。
Sybase SQL Anywhere数据库恢复工具ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具
- 适用于所有的SQL Anywhere版本 包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.x
- 适用于所有的UltraLite版本
- 能够恢复出来表结构和数据
- 能够恢复自定义数据类型
- 能够恢复存储过程等对象的语法
- 能够导出到目标数据库
- 能够导出到SQL文件并生成导入脚本
- 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
- 能够恢复未加密或者简单加密类型的数据
- 简单易用
- 限制:不支持AES加密的数据文件
SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍
Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景
各种误操作:
- 误截断表(truncate table)
- 误删除表(drop table)
- 错误的where条件误删数据
- 误删除db或log文件
- 误删除表中的字段
Sybase SQL Anywhere数据库恢复工具ReadASADB的应用场景:
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
7、*** ERROR *** Assertion failed: 201417 (7.0.4.3541) Invalid count or free space offset detected on a table page
8、Internal database error *** ERROR *** Assertion failed: 201425 (8.0.3.5594) Invalid count or free space offset detected on a free list page -- transaction rolled back.
9、Internal database error *** ERROR *** Assertion failed: 100702 (8.0.1.2600) Unable to modify indexes for a row referenced in rollback log -- transaction rolled back
Sybase ASE数据库恢复工具READSYBDEVICE:
一个不依赖数据库管理系统、直接从Sybase数据库设备文件上提取数据的业内领先的恢复工具!能够从损坏的Sybase ASE设备文件(.dat)上提取数据的非常规恢复工具。
Sybase ASE数据库恢复工具READSYBDEVICE的主要功能:
- 被勒索病毒加密数据文件及备份文件情况下的恢复;
- 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
- 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
- delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
- 各种Sybase内部系统表损坏、索引错误的修复;
- master数据库损坏而无法正常运行情况下的恢复;
- Sybase数据库被标记为可疑,不可用等情况的恢复;
- Sybase数据库中数据文件内部出现坏块情况下的恢复;
- Sybase数据库无数据文件但有日志文件的情况下的恢复;
- Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
- Sybase数据文件被误删除情况下的碎片提取恢复;
- 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
- 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
- Sybase数据库还原数据库出现失败情况下的恢复;
- Sybase数据库只剩下损坏的备份文件情况下的恢复。
Sybase ASE数据库恢复工具READSYBDEVICE支持的版本:
Sybase ASE 11.0.x,11.5.x,11.9.x,12.0.x,12.5.x,15.0.x,15.5.x,15.7.x,16.0.xSQL Server数据库恢复工具SQLRescue:
一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。
SQL Server数据库恢复工具SQLRescue的主要功能:
- 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
- 断电导致数据库文件损坏情况下的恢复;
- 硬盘坏道造成数据库损坏情况下的恢复;
- 数据文件内部存在坏页情况下的恢复;
- 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
- 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
- 无法读取并闩锁页sysindexes失败情况下的修复;
- 数据文件被误删除情况下的碎片提取恢复;
- 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
- master数据库损坏而无法正常运行情况下的恢复;
- 数据文件无法附加情况下的数据恢复;
- 数据库被标记为可疑,质疑,不可用等情况的恢复;
- 数据库sysobjects等系统表损坏情况下的恢复;
- 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
- 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
- 数据库被误格式化等情况下的数据库恢复;
- 日志收缩造成数据库损坏情况下的恢复;
- 仅剩损坏的备份文件情况下的恢复。
SQL Server数据库恢复工具SQLRescue技术特点:
只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。- 从数据文件中直接恢复数据
- 不能附加时直接恢复数据并生成新的数据库
- 系统表损坏的数据库修复
- 快速修复SQL 823错误、连接中断错误
SQL Server数据库恢复工具SQLRescue支持的版本:
Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。+-------------------------------------华丽的分割线-------------------------------------------------------------------------