随着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
- 安全性管理指南
- 实用程序指南
create rule
说明 为特定列或属于用户定义数据类型的任意列指定可接受值的域并创建访 问规则。
语法 create [[and | or] access]] rule [owner.]rule_name
as condition_expression
参数 access
指定将要创建访问规则。请参见 《系统管理指南》中的 “管理用户 权限”。
rule_name 新规则的名称,该名称必须符合标识符规则,并且不能是变量。指定 所有者的名称,以便在当前数据库中创建由其他用户拥有的另一个同 名规则。 owner 的缺省值是当前用户。
condition_expression
指定定义规则的条件。它可以是任何在 where 子句中被视为有效的表 达式,并可以包括算术运算符、关系运算符、 in、 like、 between 等。 不过, condition_expression 不能引用任何列或其它数据库对象。可以 包括不引用数据库对象的内置函数。
condition_expression 采用一个参数,该参数必须以 @ 符号为前缀并引 用通过 update 或 insert 命令输入的值。编写规则时可以使用任何名称 或符号来表示此值。将字符和日期常量用引号引起来,并在二进制常 量前加上 “0x”。
示例 示例 1 创建名为 limit 的规则,该规则将 advance 的值限制为小于 $1000:
create rule limit as @advance < $1000
示例 2 创建名为 pubid_rule 的规则,该规则将 pub_id 的值限制为 1389、 0736 或 0877:
create rule pubid_rule
as @pub_id in ('1389', '0736', '0877')
示例 3 创建名为 picture 的规则,该规则将 value 的值限制为始终以指定的 字符开始:
create rule picture
as @value like '_-%[0-9]'
用法 • 若要隐藏规则的文本,请使用 sp_hidetext。
• 若要重命名规则,请使用 sp_rename。
限制
• 只能在当前数据库中创建规则。
• 规则不适用于创建规则时数据库中已有的数据。
• 在单个批处理中, create rule 语句不能与其它语句一起使用。
• 不能将规则绑定到 Adaptive-Server-提供的数据类型或类型为 text、 unitext、 image 或 timestamp 的列上。
• 在创建同名的新规则前必须删除旧规则,且在删除规则前必须解除 绑定。请选择下列方法之一:
sp_unbindrule objname [, futureonly]
• 使用 sp_bindrule 将规则绑定到列或用户定义数据类型:
sp_bindrule rulename, objname [, futureonly]
• 绑定到用户定义数据类型的规则在您向此类型的列中插入值或更新 该列时激活。规则并不测试插入此类变量中的值。
• 规则必须与列的数据类型兼容。例如,不能使用以下内容作为精确 或近似数值列的规则:
@value like A%
如果规则与所绑定到的列不兼容, Adaptive Server 会在试图插入值 时 (而不是在您绑定它时)生成错误消息。
• 可以将规则绑定到列或数据类型,而不必解除现有规则的绑定。
• 绑定到列的规则总是优先于绑定到用户 - 定义数据类型的规则,这与 规则的绑定顺序无关。 表 1-9 指出了将规则绑定到已存在规则的列 和用户 - 定义数据类型时的优先级。
表 1-9: 规则绑定优先级
新规则绑定到 |
旧规则绑定到用户定义数据类型 |
旧规则绑定到列 |
用户定义数据类型 |
新规则代替旧规则 |
无更改 |
列 |
新规则代替旧规则 |
新规则代替旧规 则 |
• 规则并不替换列定义。如果将规则绑定到允许 NULL 值的列,即使 规则文本中没有 NULL 值,也可以在列中显式或隐式插入 NULL 值。例如,如果创建一个指定 “@val in (1,2,3)”或 “@amount > 10000”的规则,并将此规则绑定到允许 NULL 值的表列,则仍然 可以在该列中插入 NULL。列定义将覆盖该规则。
• 如果列既有缺省值又有关联的规则,缺省值必须在规则所定义的范 围内。从不会插入与规则冲突的缺省值。每次尝试插入此类缺省值 时, Adaptive Server 都会生成错误消息。
• 可以通过对 create table 语句使用 check 来定义规则,这样会创建完 整性约束。但是,这些约束是专用于此表的;不能将它们绑定到其 它表。有关完整性约束的信息,请参见 create table 和 alter table。
• 若要获取关于规则的报告,请使用 sp_help。
• 若要显示规则的文本 (存储在 syscomments 系统表中),请以规则 名作为参数执行 sp_helptext。
• 将规则绑定到特定列或用户定义数据类型后,其 ID 就被存储到
syscolumns 或 systypes 系统表中。
标准 符合 ANSI SQL 的级别符合初级标准。
要使用符合 ANSI SQL 的语法创建规则,请使用 create table 语句的 check
子句。
权限 对 create rule 的权限检查因您的细化权限设置而异。
细化权限已启用 在启用细化权限的情况下,您必须具有 create rule 特权。您必须具有 create any rule 特权才能为其他用户运行 create rule。
细化权限已禁用 在禁用细化权限的情况下,您必须具有 create rule 特权,是数据库所有者或具 有 sa_role 的用户。
您必须是具有 sa_role 的用户才能为其他用户使用 create rule。
审计 sysaudits 的 event 和 extrainfo 列中的值如下:
事件 审计选项 审计的命令或访问权限 extrainfo 中的信息
13 create create rule • 角色 - 当前活动角色
• 关键字或选项 – NULL
• 先前值 – NULL
• 当前值 – NULL
• 其它信息 – NULL
• 代理信息 - set proxy 有效时的初始登录名
另请参见 命令 alter table, create default, create table, drop rule, drop table.
系统过程 sp_bindrule, sp_help, sp_helptext, sp_hidetext, sp_rename, sp_unbindrule.
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------