随着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数据库技术问题需要咨询,请联系我!
以下官方手册为SAP IQ 16.0 SP03中文版:
isql Interactive SQL 实用程序
isql 实用程序是使用 Adaptive Server Enterprise Open Client API 的命令行 Interactive SQL
实用程序。
您不能在 isql 中创建用户定义的数据库选项。如果需要添加自己的数据库选项,请改用 dbisql Interactive SQL 实用程序。
语法
isql
[-b] [-e] [-F] [-p] [-n] [-v] [-W] [-X] [-Y] [-Q]
[-a display_charset] [-A packet_size]
[-c cmdend]
[-D database] [-E editor]
[-h header]
[-H hostname] [-i inputfile]
[-I interfaces_file] [-J client_charset] [-K keytab_file]
[-l login_timeout] [-m errorlevel]
[-o outputfile] [-P password]
[-R remote_server_principal] [-s colseparator]
[-S server_name] [-t timeout]
-U username
[-V [security_options]] [-w columnwidth]
[-z locale_name]
[-Z security_mechanism] [--conceal]
[--URP]
参数
下表列出了 isql 实用程序的可用选项。
表 31. isql 选项
选项 |
说明 |
-b |
禁用表头输出的显示内容。 |
选项 |
说明 |
-e |
回写输入。 |
-F |
启用 FIPS 标记。指定 -F 参数后,服务器会在遇到非标准 SQL 命令时返回 一条消息。此选项不会禁用 SQL 扩充。发出非 ANSI SQL 命令时即完成处 理。 |
-p |
打印性能统计信息。 |
-n |
与 -e 结合使用时,可从输出文件中的回写输入行内移除编号和提示符号 (>)。 |
-v |
打印 isql 的版本号和版权消息,然后退出。 |
-X |
通过客户端口令加密启动与服务器间的登录连接。-X 启用扩展口令加密连 |
接和不含明文口令重连接的口令加密连接。isql(客户端)向服务器指定, |
|
需要口令加密。服务器将返回一个加密密钥,isql 使用该密钥为您的口令 |
|
加密,服务器则在需要时使用该密钥验证您的口令。 |
|
如果 isql 崩溃,系统会创建一个含有您的口令的核心文件。如果未使用加 |
|
密选项,口令则以明文形式显示在文件中。如果使用了加密选项,则无法 |
|
读取您的口令 |
|
-W |
禁用扩展口令和口令加密协商。 |
-Y |
让 Adaptive Server 使用链接事务。 |
-Q |
为客户端提供故障转移属性。 |
-a |
从某终端运行 isql,该终端的字符集不同于运行 isql 的计算机的字符集。使用 |
display_charset |
-a 和 -J 指定转换所需的字符集转换文件(.xlt 文件)。仅当客户端字符 |
集与缺省字符集相同时,才能单独使用 -a 而不使用 -J。 |
|
注意: ascii_7 字符集与所有字符集兼容。如果将 Adaptive Server 字符集或 |
|
客户端字符集设置为 ascii_7,那么任何 7 位 ASCII 字符都能在客户端与服 |
|
务器间来回传递而不发生变化。其它字符则会产生转换错误。
|
选项 |
说明 |
-A packet_size |
指定用于此 isql 会话的网络包大小。例如,以下代码将用于此 isql 会话的 网络包大小设置为 4096 个字节: isql -A 4096 • 要检查您的网络包大小,请输入: SELECT * FROM sysprocesses • 值显示在 network_pktsz 标题下。 • size 必须介于 default network packet size 参数值和 maximum network packet size configuration 参数值之间,并且必须是 512 的倍数。 • 使用大于缺省包大小的包大小来执行 readtext 或 writetext 等 I/O 密集型 操作。 • 设置或更改 Adaptive Server 的包大小不影响远程过程调用的包大小。 |
-c cmdend |
更改命令终结符。缺省情况下,可通过在某行上单独键入 "go" 来终止和发 送命令。更改命令终结符时,请勿使用 SQL 保留字或控制字符。 |
-D database |
选择用于启动 isql 会话的数据库。 |
-E editor |
指定一个除缺省编辑器 vi 之外的编辑器。要调用该编辑器,请在 isql 中输 入其名称,作为某一行的第一个单词。 |
-h headers |
指定列标题间要打印的行数。缺省情况下,每组查询结果仅打印一次标题。 |
-H hostname |
指定列标题间要打印的行数。缺省情况下,每组查询结果仅打印一次标题。 |
-i interfaces_file |
指定连接到 Adaptive Server 时要搜索的接口文件的名称和位置。如果未指定 -I,isql 将在由 SYBASE 环境变量指定的目录中搜索名为 interfaces 的文件。 |
-J client_charset |
指定要在客户端上使用的字符集。-J client_charset 要求在 Adaptive Server |
与客户端上使用的字符集 client_charset 间来回转换。过滤器用于转换 |
|
client_charset 和 Adaptive Server 字符集之间的输入。 |
|
不含参数的 -J 将字符集转换设置为 NULL。即不发生任何转换。如果客户 |
|
端和服务器使用相同字符集,则使用此选项。 |
|
省略 -J 可将字符集设置为平台的缺省字符集。缺省字符集不一定是客户端 |
|
正在使用的字符集。有关字符集和关联标记的详细信息,请参见《Adaptive |
|
Server Enterprise 系统管理指南,卷 1》中的“配置客户端/服务器字符集转 |
|
换”。 |
|
-K keytab_file |
指定在 DCE 中进行验证所用的 keytab 文件的路径。 |
-l login_timeout |
指定连接到 Adaptive Server 时允许的最大超时值。缺省值为 60 秒。此值仅 影响 isql 等待服务器响应登录尝试的时间。要指定命令处理的超时时间, 请使用 -t timeout 参数。 |
选项 |
说明 |
-m errorlevel |
自定义错误消息显示。对于指定严重级或更高严重级的错误,仅显示消息 号、状态和错误级别,不显示错误文本。对于低于指定级别的错误级别, 则不显示任何内容。 |
-o outputfile |
指定用于存储 isql 中输出内容的操作系统文件的名称。将参数指定为 -o outputfile 与指定为 > outputfile 相似。 |
-P password |
指定您的 Adaptive Server 口令。如果未指定 -P 标记,isql 会提示输入口 令。如果口令为 NULL,请使用不需输入口令的 -P 标记。 |
-R remote_serv- er_principal |
按照安全机制的定义为服务器指定主体名。缺省情况下,服务器的主体名 与服务器的网络名一致,后者是使用 -S 参数或 DSQUERY 环境变量指定 的。如果服务器的主体名和网络名不同,请使用 -R 参数。 |
-s colseparator |
重置缺省为空的列分隔符。要使用对操作系统具有特殊含义的字符(例如 "|"、";"、"&"、"<"、">"),请将字符括在引号中或在字符前加上反斜线。 |
-S server_name |
指定要连接到的 Adaptive Server 的名称。isql 将在接口文件中查找此名称。 如果指定 -S 而不指定参数,isql 会查找名为 SYBASE 的服务器。如果不指定 -S,isql 会查找由 DSQUERY 环境变量指定的服务器。 |
-t timeout |
指定超时秒数,此时间过后,SQL 命令将超时。如果不指定超时值,该命 令将无限期运行。这会影响 isql 中发出的命令,但不影响连接时间。登录到 isql 的缺省超时值为 60 秒。 |
-U username |
指定登录名。登录名区分大小写。 |
--URP string |
允许您为 SAP Sybase IQ 服务器提供登录重定向字符串。以下示例指定逻 辑服务器、数据库、节点类型和重定向设置: isql -Usa –P -–URP “LS=salogsrv;dbname=dbone;node=writer;redirect=no” 或者 允许为访问 Adaptive Server 的客户端设置通用远程口令 remotepassword。 此应用程序可设置通用远程口令。例如,ctlib 使用 ct_remote_pwd(),而 jConnect 使用 setRemotePassword 方法。 |
选项 |
说明 |
-V |
指定基于网络的用户验证。使用此选项时,用户必须先登录到网络的安全 |
security_options |
系统,然后再运行实用程序。在这种情况下,用户必须以 -U 选项提供网络 |
用户名;以 -P 选项提供的任何口令均将被忽略。 |
|
您可在 -V 后加上关键字母选项的字符串 security_options ,以启用附加安全 |
|
服务。这些关键字母包括: |
|
• -c – 启用数据保密服务 |
|
• -i – 启用数据完整性服务 |
|
• -m – 启用连接建立过程中的互相验证 |
|
• -o – 启用数据源时间戳服务 |
|
• -q – 启用失序检测 |
|
• -r – 启用数据重放检测 |
|
-w columnwidth |
设置用于输出的屏幕宽度。缺省值为 80 个字符。输出行达到其最大屏幕宽 度时换行。 |
-z locale_name |
指定用于显示 siql 提示和消息的备选语言的正式名称。如果未指定 -z,isql 将使用服务器的缺省语言。可在安装期间或安装后,使用 langinstall 实用 程序(Windows 中的 langinst)或 sp_addlanguage 存储过程向 Adaptive Server 添加语言。 |
-Z security_ mechanism |
指定连接上所用的安全机制的名称。 安全机制名在 libtcl.cfg 配置文件中定义,该文件位于 Sybase 安装目 录下的 ini 子目录中。如果未提供 security_mechanism name,则使用缺省 机制。有关安全机制名的详细信息,请参见《Open Client 和 Open Server 配 置指南》中 libtcl.cfg 文件的说明。 |
--conceal |
在 isql 会话期间隐藏输入。输入口令等敏感信息时,--conceal 选项十分有 用。--conceal 选项的语法是: isql --conceal [':?' | 'wildcard'] wildcard 是一个 32 字节的变量,最大长度为 80 个字符。 注意: 批处理模式下,会以静默方式忽略 --conceal。 |
用法
如果正在使用线程驱动程序,请将此语法用于 isql_r。
如果正在 IBM 平台中使用线程驱动程序,请将此语法用于 isql。
必须先将 SYBASE 环境变量设置为 Adaptive Server 当前版本的所在位置,然后才能使用 isql。
下表列出可在交互式 isql 中执行的命令:
表 32. isql 中的可用命令
命令 |
说明 |
:r filename |
将操作系统文件读入命令缓冲区。 不要在文件中包含命令终结符;一旦完成编辑后,必须在单独一行上 以交互方式输入终结符。 |
:R filename |
将操作系统文件读入命令缓冲区,然后显示该文件。 不要在文件中包含命令终结符;一旦完成编辑后,必须在单独一行上 以交互方式输入终结符。 |
use database_name |
更改当前数据库。 |
!! os_command |
执行操作系统命令。放置在一行的开头。 |
> file_name |
将 T-SQL 命令的输出重定向至 file_name。以下示例将服务器版本插入到 file_name 中: select @@version go > file_name |
>> file_name |
将 T-SQL 命令的输出附加至 file_name。以下示例将服务器版本附加到 file_name 中: select @@version go >> file_name |
| command |
通过管道将 T-SQL 命令的输出传送到外部命令。 以下示例将在 sp_who 生成的列表中查找 "sa" 的所有实例: sp_who go | grep sa |
vi (UNIX) edit (Windows) |
调用缺省编辑器。 |
reset |
清除查询缓冲区。 |
quit 或者 exit |
退出 isql。 |
登录或发出 use database 命令后,将不再显示 5701(“数据库已更改”)服务器消 息。
错误消息格式不同于早期版本的 isql。如果您拥有基于这些消息的值执行例程的脚 本,可能需要重新进行编写。
如果将 -X 参数包括在内,启用口令的连接的执行情况将视服务器的能力而定:
• 如果服务器能够处理扩展口令加密和口令加密,则使用扩展口令加密协商。
• 如果服务器只能处理口令加密,则使用口令加密协商。
• 如果服务器无法处理口令加密和扩展口令加密,首次连接尝试将失败,客户端会 尝试使用明文口令重新连接。
要以交互方式使用 isql,请在操作系统提示符处写入命令 isql(以及任意可选参数)。 isql 程序接受 SQL 命令并将命令发送至 Adaptive Server。这些结果将按照标准输出进 行格式设置和打印。使用 quit 或 exit 退出 isql。
通过在某一行的开头键入缺省命令终结符 go(如果使用 -c 参数,则可键入其它命令 终结符),终止某条命令。可在命令终结符后加上一个整数,以指定命令运行的次 数。例如,要将此命令执行 100 次,请键入:
select x = 1 go 100
结果在执行完毕后显示一次。
如果在命令行上多次输入某个选项,isql 将使用最后一个值。例如,如果输入以下命 令,-c 的第二个值 "send" 将会覆盖第一个值 ".":
isql -c"." -csend
这允许您覆盖您设置的所有别名。
要在当前查询缓冲区中调用某个编辑器,请在某一行上输入其名称,作为第一个单 词。通过使用 EDITOR 环境变量进行指定来定义首选的可调用编辑器。如果未定义 EDITOR,则在 UNIX 上缺省调用 vi,在 Windows 上缺省调用 edit。
例如,如果已将 EDITOR 环境变量设置为 "emacs",则必须将 "emacs" 作为某行的第 一个单词,在 isql 中调用相应编辑器。
要清除现有查询缓冲区,请在某行上单独键入 reset。isql 将放弃所有待执行输入。您 还可在某行的任意位置按 Ctrl-c 来取消当前查询并返回至 isql 提示符。
在包含 isql 所执行的查询的操作系统文件中进行读取,如下所示:
isql -U alma -P password < input_file
该文件必须包括命令终结符。结果显示在您的终端上。在包含查询的操作系统文件中 进行读取并将结果放入另一文件中,如下所示:
isql -U alma -P password < input_file > output_file
isql 在小数点后仅显示 6 位 float 或 real 数据,其余部分四舍五入。
您可在 isql 向 Adaptive Server 提交的 Transact-SQL 语句中加入注释。用 "/*" 开始一 个注释,并用 "*/" 结束该注释,如下例所示:
select au_lname, au_fname
/*retrieve authors’ last and first names*/
from authors, titles, titleauthor
where authors.au_id = titleauthor.au_id
and titles.title_id = titleauthor.title_id
/*this is a three-way join that links authors
**to the books they have written.*/
如果要注释掉 go 命令,则不应将其置于一行的开始处。例如,使用以下方式注释掉 go
命令:
/*
**go
*/
请勿使用以下方式:
/* go */
isql 将日期格式顺序定义为月、日、年(mm dd yyyy hh:mmAM(或 PM)),不考 虑区域设置环境。要更改此缺省顺序,请使用 convert 函数。
在 isql 会话中,缺省提示符标签为缺省通配符 :? 或值 wildcard。可以通过在通配符后 面提供一个单字字符串(最大长度为 80 个字符)来自定义提示标签。如果指定多字 提示标签,将忽略第一个字后面的字符。
注意: 在 isql 会话中,仅当 :? 或值 wildcard 位于 isql 行的开头时,isql 才会将其识 别为通配符。
示例
打开一个可在其中编辑查询的文本文件。编写并保存文件后,返回到 isql。随即显示 查询;单独在一行上键入 "go" 来执行该查询:
isql -Ujoe -Pabracadabra 1> select *
2> from authors
3> where city = "Oakland" 4> vi
reset 将清除查询缓冲区。quit 可使您返回到操作系统:
isql -Ualma Password:
1> select *
2> from authors
3> where city = "Oakland" 4> reset
1> quit
指定将从 Macintosh 对使用 roman8 字符集的服务器运行 isql:
isql -a mac -J roman8
在 pubs2 数据库的输出中使用 "#" 字符为存储库 ID 7896 创建列分隔符:
isql -Usa -P -s# 1> use pubs2
2> go
1> select * from sales where stor_id = "7896"
#stor_id#ord_num #date #
#-------#--------------------#--------------------------#
#7896 #124152 # Aug 14 1986 12:00AM#
#7896 #234518 # Feb 14 1991 12:00AM#
(2 rows affected)
在不显示输入口令的情况下更改口令。以下示例使用 "old" 和 "new" 作为提示符标签:
$ isql -Uguest -Pguest -Smyase --conceal sp_password
:? old
,
:?:? new
----------------
old new
Confirm new
Password correctly set. (Return status 0)
为当前用户激活一个角色。以下示例使用自定义通配符以及提示符标签 "role" 和 "password":
$ isql -UmyAccount --conceal '*'Password: set role
* role
with passwd
** password on
go
role password
Confirm password
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------