连接信息
在执行任何命令之前,您需要准备好以下信息:

- DSN (数据源名称) 或 服务器名:
my_server。 - 用户名:
sa。 - 密码:对应用户的密码。
- 端口号:Syase 默认端口是
4100,但可能被修改。 - 数据库名 (可选,如果未在连接字符串中指定)。
核心连接工具:isql
isql 是 Sybase 提供的命令行交互式 SQL 工具,是所有操作的基础。
基本连接语法
isql -S <服务器名> -U <用户名> -P <密码> -D <数据库名> -p <端口号> -w <输出宽度>
参数说明:
-S: Sybase 服务器名称。-U: 登录用户名。-P: 登录密码。注意:在命令行中直接写-P password会在ps命令中看到明文密码,存在安全风险,更安全的方式是直接运行isql -S ... -U ...,然后它会提示您输入密码。-D: 默认连接的数据库。-p: 服务器端口号。-w: 设置输出行的宽度,默认为 80,建议设置为 132 或更大,以避免表格错位。-J: 设置字符集,-J iso_1,如果出现乱码,可能需要调整此参数。-b: 出错时返回非零状态码,适合用在脚本中。
示例:
# 安全的连接方式(推荐) isql -S my_sybase_server -U sa -D master -p 4100 -w 132 # 不安全的连接方式(脚本中应避免) isql -S my_sybase_server -U sa -P my_secret_password -D master -p 4100 -w 132
连接成功后,您会看到 1> 提示符,在这里可以输入 SQL 命令。

常用 Sybase T-SQL 命令 (在 isql 中使用)
以下命令需要在 isql 的 1> 提示符下输入,并以 go 结尾来执行。
1 数据库管理
-
查看所有数据库:
1> select name from sysdatabases; 2> go
-
创建数据库:
1> create database my_new_db 2> on primary (name = 'my_new_db_data', filename = '/sybase/data/my_new_db_data.dat') 3> log on (name = 'my_new_db_log', filename = '/sybase/log/my_new_db_log.log') 4> size = 10MB; 5> go
注意:
filename的路径必须是服务器上存在的、且 Syase 运行用户有权限写入的目录。
(图片来源网络,侵删) -
删除数据库:
1> drop database my_old_db; 2> go
-
切换当前数据库:
1> use my_new_db; 2> go
2 表管理
-
查看当前数据库下的所有表:
1> select name from sysobjects where type = 'U'; 2> go
-
创建表:
1> create table employees ( 2> id int not null primary key, 3> name varchar(50) not null, 4> hire_date datetime default getdate() 5> ); 6> go
-
删除表:
1> drop table employees; 2> go
3 数据操作
-
插入数据:
1> insert into employees (id, name) values (1, 'Alice'); 2> go
-
查询数据:
1> select * from employees; 2> go
-
更新数据:
1> update employees set name = 'Bob' where id = 1; 2> go
-
删除数据:
1> delete from employees where id = 1; 2> go
4 用户和权限管理
-
创建登录用户:
1> sp_addlogin 'app_user', 'strong_password'; 2> go
-
将用户映射到数据库:
1> use my_new_db; 2> go 1> sp_grantdbaccess 'app_user'; 2> go
-
授予权限:
1> grant select, insert on employees to app_user; 2> go
-
撤销权限:
1> revoke select on employees from app_user; 2> go
常用 Linux 系统级管理命令
这些命令在 Linux 终端中直接运行,用于管理 Sybase 服务本身。
1 服务启停
Sybase ASE 在 Linux 上通常作为服务运行,使用 runserver 脚本。
-
启动 Sybase ASE 服务:
# 进入 Sybase 安装目录的 ASE-15_0/bin (或类似目录) cd /sybase/ASE-15_0/bin # 启动服务器 ./runserver -S my_sybase_server -d /sybase/data/master.dat
-d参数指定主设备文件路径。 -
停止 Sybase ASE 服务:
# 使用 isql 连接并执行 shutdown 命令(推荐方式) isql -S my_sybase_server -U sa -P <password> -p 4100 -w 132 1> shutdown; 2> go
这会优雅地停止数据库,也可以使用
kill命令强制终止进程,但可能导致数据损坏,不推荐。 -
检查服务状态:
# 查看进程是否在运行 ps -ef | grep -i sybase # 查看 Sybase 网络端口是否监听 netstat -tuln | grep 4100
2 备份与恢复
备份和恢复通常通过 isql 执行存储过程来完成。
-
创建全量备份:
1> use master; 2> go 1> dump database my_new_db to "/sybase/backups/my_new_db_backup.dat"; 2> go
-
创建事务日志备份:
1> dump transaction my_new_db to "/sybase/backups/my_new_db_log_backup.dat"; 2> go
-
恢复数据库:
1> use master; 2> go 1> load database my_new_db from "/sybase/backups/my_new_db_backup.dat"; 2> go 1> load transaction my_new_db from "/sybase/backups/my_new_db_log_backup.dat"; 2> go 1> online database my_new_db; 2> go
注意: 恢复过程非常严格,必须按照正确的顺序(
load database->load transaction->online database)执行,并且数据库通常需要处于单用户模式。
高级脚本化操作
对于自动化任务,可以将 SQL 命令写入一个文件,然后让 isql 执行它。
步骤 1: 创建 SQL 脚本文件 (e.g., check_db_size.sql)
use my_new_db; go select name, size/512.0 as 'Size (MB)' from sysusages; go
步骤 2: 执行脚本文件
isql -S my_sybase_server -U sa -P <password> -p 4100 -w 132 -i check_db_size.sql
-i 参数指定输入脚本文件。isql 会将执行结果直接输出到终端。
总结与最佳实践
- 使用
isql:isql是你与 Sybase ASE 交互的核心工具。 - 安全第一:避免在命令行中使用
-P传递密码,优先使用交互式输入。 - 熟悉
go:所有 SQL 命令块都以go- 善用脚本:对于重复性任务,将 SQL 写入文件并用
-i参数执行,效率更高。- 官方文档:Sybase 的官方文档是最高权威,遇到复杂问题(如备份恢复、高可用配置)时务必查阅。
- 善用脚本:对于重复性任务,将 SQL 写入文件并用
希望这份详细的命令列表对您有所帮助!
