Sybase命令(转)
清理日志空间
dump tran master with no_log
go
dump tran sgsovsc with no_log
go
dump tran sgsovsc with truncate_only
go
//查看当前已经安装的字符集
use master
go
select id,name from syscharsets
go
//查看当前使用的缺省字符集
sp_configure "default char"
go
//查看服务器端字符集的详细,有4个表
sp_helpsort
go
//查看客户端字符集
select @@client_csname
go
//设置服务端字符集为utf8
sp_configure 'default character set id',190
go
shutdown
go
然后重启服务
//修改sa密码
sp_password '123456',NULL,sa
go
//导出文本文件用|分隔
bcp tableName out/in result.txt -c -t"|" -Uuser -Ppassword
--------------------------------------------------------------
sybase12.5安装时的缺省charset是cp850,这样不支持中文。语句中插入的中文取出来会是乱码
问一下sybase公司的人,那些家伙都说客户端也要设置相同的字符才行,我试一下,不行。
又说服务端用cp936或e gb,客户端设置一样,这样中文是可以用,但是cp936和e gb却要区分大小写。如果那样用数据库简直是要人的命,不可能记得住每个表的名称和字段的大小写的。
他们又推荐utf8,我再试,只支持部分中文字,有的字就是不认。
一句话,sybase就是烂,比oracle和sqlserver烂多了,既然开发了中文字符支持,为什么又不支持一下不区分大小写呢?
当我万般无奈准备用回sybase120的时候,决定再试一下。服务端用utf8,虽然所有的sybase官方推荐客户端设置要和服务端设置一样,但我要试一下客户端用cp936
效果如何。结果成功!。既可以支持中文,又可以不区分大小写。
sybase那帮人也真够烂的,自己的产品都不知怎么用。
记住,服务端设utf8,客户端cp936。
---------------------------------------------------------------
//加载utf8字符集
sybase设置字符集,以utf-8为例
服务器端:
c:\>cd \sybase\charsets\utf8
c:\sybase\charsets\utf8> charset -Usa -P -Schenwei(小写才行) binary.srt utf8
修改数据库字符集为utf8:sp_configure "default character set id",190
修改数据库大小不敏感:sp_configure 'default sortorder id',52
客户端:
客户端字符集配置(为数据库备份和恢复用到):
\sybase\locales\locales.dat
找到NT,修改最后一行配置为locale = default, us_english, cp936
//bcp命令
bcp ovsc..maxspeed out D:\cc.txt -Usa -P -Shunter -c -t "|"
===============================================================
Sybase常用命令
命令行登录
isql -Sservername -Usa -P
安装字符集
charset -Usa -Ppassword -Sservername binary.srt utf8
charset -Usa -Ppassword -Sservername nocase.srt utf8
设置字符集
sp_configure 'default charac',173
设置排序
sp_helpsort
sp_configure 'default sortorder_id',101
Sybase数据库数据和日志空间不能自动扩展,需要手工管理。
数据库备份恢复
dump database dbname to "c:\\xxx.dmp" --注意文件生成在数据库服务器端
load database dbname from "c:\\xxx.dmp"
online database dbname
表数据备份恢复
bcp dbname..tablename {out|in} c:\XXX -Usa -Ppassword –Sservername -Jutf8 –c -y
use dbname
go
select 'bcp dbname..' + name + ' out c:\' + name + ' -Usa -P -Ssname -c' from sysobjects where type = 'U'
go
在isql中执行脚本文件
isql -Usa -P -Sservername -Ddbname -iInputfile -oOutputfile
配置Adaptive Server核心参数
sp_configure "max online engines", 1 go
sp_configure "max memory", 393216 go
sp_configure "number of user connections", 300 go
sp_configure "number of open objects", 1500 go
sp_configure "number of open indexes", 1000 go
sp_configure "lock wait period", 300 go
sp_configure "number of devices", 20 go
sp_addserver 'SYB_BACKUP',NULL,'SYB_BACKUP' go
创建数据库
disk init name ="dbname", physname="d:/sybase/data/dbname.dat", size=262144 go
disk init name ="dbname_log", physname="d:/sybase/data/dbname_log.dat", size=524288 go
create database DBNAME on dbname = 512 log on dbname_log = 1024 go
sp_addlogin dbname, dbname,DBNAME,us_english use DBNAME go
sp_changedbowner dbname go
===============================================================
sybase数据库的一些常用命令收藏
1. 服务器的字符集设置,例cp936,安装cp936字符集
a) 假如SYBASE的安装路径为c:\sybase
i. c:\>cd \sybase\charsets\cp936
ii. c:\sybase\charsets\cp936> charset -Usa -Psa_pass -Sserver_name binary.srt cp936
b) 使用isql登陆server
i. select name,id from syscharsets
ii. go
iii. 找到name为cp936对应的id(假设为171)
c) 设置服务器端的字符集为cp936
i. sp_configure "default character set id",171
ii. go
d) 重启server两次(注:第一次启动后,server会自动宕掉,需要第二次重启后才能使用)
2. 进入sybase目录下的locales文件夹打开locales.dat找到其服务器使用的操作系统对应的字符集设置(例如windows XP则查看[NT]下的字符集设置)
a) 查看是否设置了环境变量LANG=C,如果设置了,则在最后添加一行”locale = C,us_english,cp936 ”的
b) 如果没有设置LANG环境变量,则将最后一行的” locale = default, us_english, iso_1”改为” locale = default, us_english, cp936”
3. 使用isql命令登陆server端查看客户端和服务器端的字符集设置
a) 查看服务器端的字符集
i. sp_helpsort
ii. go
b) 查看客户端的字符集
i. select @@client_csname
ii. go
c) 如果不一致则检查上述工作是否错误
4. 使用load database命令导入数据库(去之前使用dump database 将数据库备份)
a) dump database命令
i. dump database cqpower to "d:\backups\cqpower.dat"
ii. go
b) load database命令
i. load database cqpower from "d:\backups\cqpower.dat"
ii. go
5. 使用online database命令将数据库激活
a) online database 命令
i. online database cqpower
ii. go
6. 使用sp_dropdevice命令删除设备
a) sp_dropdevice 命令
i. sp_dropdevice 设备名
ii. go
dump tran master with no_log
go
dump tran sgsovsc with no_log
go
dump tran sgsovsc with truncate_only
go
//查看当前已经安装的字符集
use master
go
select id,name from syscharsets
go
//查看当前使用的缺省字符集
sp_configure "default char"
go
//查看服务器端字符集的详细,有4个表
sp_helpsort
go
//查看客户端字符集
select @@client_csname
go
//设置服务端字符集为utf8
sp_configure 'default character set id',190
go
shutdown
go
然后重启服务
//修改sa密码
sp_password '123456',NULL,sa
go
//导出文本文件用|分隔
bcp tableName out/in result.txt -c -t"|" -Uuser -Ppassword
--------------------------------------------------------------
sybase12.5安装时的缺省charset是cp850,这样不支持中文。语句中插入的中文取出来会是乱码
问一下sybase公司的人,那些家伙都说客户端也要设置相同的字符才行,我试一下,不行。
又说服务端用cp936或e gb,客户端设置一样,这样中文是可以用,但是cp936和e gb却要区分大小写。如果那样用数据库简直是要人的命,不可能记得住每个表的名称和字段的大小写的。
他们又推荐utf8,我再试,只支持部分中文字,有的字就是不认。
一句话,sybase就是烂,比oracle和sqlserver烂多了,既然开发了中文字符支持,为什么又不支持一下不区分大小写呢?
当我万般无奈准备用回sybase120的时候,决定再试一下。服务端用utf8,虽然所有的sybase官方推荐客户端设置要和服务端设置一样,但我要试一下客户端用cp936
效果如何。结果成功!。既可以支持中文,又可以不区分大小写。
sybase那帮人也真够烂的,自己的产品都不知怎么用。
记住,服务端设utf8,客户端cp936。
---------------------------------------------------------------
//加载utf8字符集
sybase设置字符集,以utf-8为例
服务器端:
c:\>cd \sybase\charsets\utf8
c:\sybase\charsets\utf8> charset -Usa -P -Schenwei(小写才行) binary.srt utf8
修改数据库字符集为utf8:sp_configure "default character set id",190
修改数据库大小不敏感:sp_configure 'default sortorder id',52
客户端:
客户端字符集配置(为数据库备份和恢复用到):
\sybase\locales\locales.dat
找到NT,修改最后一行配置为locale = default, us_english, cp936
//bcp命令
bcp ovsc..maxspeed out D:\cc.txt -Usa -P -Shunter -c -t "|"
===============================================================
Sybase常用命令
命令行登录
isql -Sservername -Usa -P
安装字符集
charset -Usa -Ppassword -Sservername binary.srt utf8
charset -Usa -Ppassword -Sservername nocase.srt utf8
设置字符集
sp_configure 'default charac',173
设置排序
sp_helpsort
sp_configure 'default sortorder_id',101
Sybase数据库数据和日志空间不能自动扩展,需要手工管理。
数据库备份恢复
dump database dbname to "c:\\xxx.dmp" --注意文件生成在数据库服务器端
load database dbname from "c:\\xxx.dmp"
online database dbname
表数据备份恢复
bcp dbname..tablename {out|in} c:\XXX -Usa -Ppassword –Sservername -Jutf8 –c -y
use dbname
go
select 'bcp dbname..' + name + ' out c:\' + name + ' -Usa -P -Ssname -c' from sysobjects where type = 'U'
go
在isql中执行脚本文件
isql -Usa -P -Sservername -Ddbname -iInputfile -oOutputfile
配置Adaptive Server核心参数
sp_configure "max online engines", 1 go
sp_configure "max memory", 393216 go
sp_configure "number of user connections", 300 go
sp_configure "number of open objects", 1500 go
sp_configure "number of open indexes", 1000 go
sp_configure "lock wait period", 300 go
sp_configure "number of devices", 20 go
sp_addserver 'SYB_BACKUP',NULL,'SYB_BACKUP' go
创建数据库
disk init name ="dbname", physname="d:/sybase/data/dbname.dat", size=262144 go
disk init name ="dbname_log", physname="d:/sybase/data/dbname_log.dat", size=524288 go
create database DBNAME on dbname = 512 log on dbname_log = 1024 go
sp_addlogin dbname, dbname,DBNAME,us_english use DBNAME go
sp_changedbowner dbname go
===============================================================
sybase数据库的一些常用命令收藏
1. 服务器的字符集设置,例cp936,安装cp936字符集
a) 假如SYBASE的安装路径为c:\sybase
i. c:\>cd \sybase\charsets\cp936
ii. c:\sybase\charsets\cp936> charset -Usa -Psa_pass -Sserver_name binary.srt cp936
b) 使用isql登陆server
i. select name,id from syscharsets
ii. go
iii. 找到name为cp936对应的id(假设为171)
c) 设置服务器端的字符集为cp936
i. sp_configure "default character set id",171
ii. go
d) 重启server两次(注:第一次启动后,server会自动宕掉,需要第二次重启后才能使用)
2. 进入sybase目录下的locales文件夹打开locales.dat找到其服务器使用的操作系统对应的字符集设置(例如windows XP则查看[NT]下的字符集设置)
a) 查看是否设置了环境变量LANG=C,如果设置了,则在最后添加一行”locale = C,us_english,cp936 ”的
b) 如果没有设置LANG环境变量,则将最后一行的” locale = default, us_english, iso_1”改为” locale = default, us_english, cp936”
3. 使用isql命令登陆server端查看客户端和服务器端的字符集设置
a) 查看服务器端的字符集
i. sp_helpsort
ii. go
b) 查看客户端的字符集
i. select @@client_csname
ii. go
c) 如果不一致则检查上述工作是否错误
4. 使用load database命令导入数据库(去之前使用dump database 将数据库备份)
a) dump database命令
i. dump database cqpower to "d:\backups\cqpower.dat"
ii. go
b) load database命令
i. load database cqpower from "d:\backups\cqpower.dat"
ii. go
5. 使用online database命令将数据库激活
a) online database 命令
i. online database cqpower
ii. go
6. 使用sp_dropdevice命令删除设备
a) sp_dropdevice 命令
i. sp_dropdevice 设备名
ii. go