当前位置:文档之家› sybase 函数

sybase 函数

sybase 函数
sybase 函数

ASCII 返回表达式中第一个字符的ASCII代码。

如:select ASCII(‘Bennet’) 结果:66

select ASCII(‘B’) 结果:66

avg 返回所有(不同)值的数字平均值 avg([all | distinct ] expression),其中all 为缺省值,表示全部;distinct是在应用avg之前取消重复值。Distinct是可选。当应用于group by子句时,集合函数将为每个组(而非整个表)生成一个值。

eg :将titles表按出版商分组,并且只包括那些预付款总额超过25000且书籍平均价格高于15的出版商所形成的组。

select id ,sum(advance) , avg(price) from titles

group by id

having sum(advance) > 25000 and avg(price) >15

https://www.doczj.com/doc/5c13423260.html,pare 直接比较两个字符串,如果不一样,则返回-1

2.convert 数据类型转换函数,如:convert(varchar(20),title)

3.count 返回非空值的数量或选定的行数。count([all|distinct] expression)

其中distinct是在应用count前取消重复值。

eg:查找作者居住的不同城市的数量:

select count(distinct city) from authors

eg:列出titles表中的类型,但取消只包含一本书或不包含任何书的类型:

select type from titles group by type having count(*)>1

count(*)是返回行数,用的最多。

4.current_date() 返回当前日期(不包括小时)。

eg: select current_date()

eg: 用datename标识当前日期

select datename(month,current_date())

结果:August

注意:结果不是8

eg:用datepart标识当前日期

select datepart(month,current_date())

结果:8

5.current_time() 返回当前时间

eg: select current_time()

eg: 返回当前时间的分钟

select datename(minute,current_time())

6.curunreservedpas 返回指定磁盘区段中的可用页数

Curunreservedpgs(dbid,istart,unreservedpgs)

dbid是数据库的ID,它们存储在sysdatabases的dbid字段。

Istart是要返回的页所在磁盘区段中的一页。

Unreservedpgs是在dbtable当前对于所请求的数据库不可用时返回的缺省值。

eg: 返回数据库名称、设备名和每个设备区段中的未保留页数。

select db_name(dbid),https://www.doczj.com/doc/5c13423260.html, ,curunreservedpgs(dbid,1,unreservedpgs) from sysusages u ,sysdevices d where d.low <=u.size+vstart

and d.high>=u.size+vstart - 1

and d.status &2 = 2

eg:显示从sysusages.istart开始的dbid段上的可用页数;

select curunreservedpgs(dbid, sysusages.istart,0)

实例化:select curunreservedpgs(6,1,0)

having与where类似,可用来决定选择哪个记录。在使用group by对这些记录分组后,having会决定应显示的记录。

char 返回整数的等值字符。他将单字节整数值转换为字符值(char通常用作ASCII的倒数)charindex 返回表示表达式起始位置的整数。

返回表company的列address中‘start’的起始位置。

eg:select charindex(“start”,address) from company where company_id = 57 char_length返回表达式中字符的数量。对于可变长度的列和变量,它将返回字符的个数(包括尾部的空格);对于文字和固定长度的字符列和变量,就是声明的长度。所以一般我们要求字符串的长度,最后不要用这个。

col_length 返回已定义的列的长度。如:返回表tablename 的title列的长度,select col_length(‘tablename’,’title’)

注意:对text和image,numeric列比较特殊。

col_name 返回已指定ID和列ID的列的名称,通俗点就是得到列名。

sybase函数学习(三)

1.datalength 返回指定列或字符串的实际长度(以字节表示)

select datalength('a11中国') 结果为7

select datalength('a11 ') 结果为3

注意:结果是以字节表示

2.dateadd 返回向指定日期添加给定数量的年、季度、小时或其它分量后所得的日期分量后所得的日期。

Dateadd(date_part,integer, date expression)

如:titles表中所有书的出版日期推迟21天

Select newpubdate = dateadd(day,21,pubdate) from titles

向日期前添加一天

Select dateadd(dd,1,”apr 12,9999”)

向时间添加5分钟

Select dateadd(mi,5,convert(time,”14:20:00”))

Select dateadd(hh,23,”4/1/1979”)

3.datediff 返回两个日期之间的差值。

这个日期的差值可能是小时,天,年等。

4.datename 以字符串的形式返回指定date或time的指定部分。

Select datename(month,getdate()) 结果November

5.datapart 以整数的形式返回指定date的指定部分。

Select datapart (month,getdate()) 结果 4

6.day 返回指定日期的datepart中表示天的整数

Select day(‘11/02/03’) 结果 2

7.db_id 返回数据库的ID号

Select db_id(‘pub’) 返回pub数据库的id

Select db_id() 当前数据库的ID

1. db_name 返回指定数据库的名称

它和db_id正好相反

例如:select db_name() 当前数据库的名称

Select db_name(4) ID为4的数据库的名称

2.floor 返回小于或等于指定值的最大整数

例如:select floor(123.24) 结果:123

Select floor(-123.24) 结果:-124

Select floor($123.45) 结果:123.00

注意:对于数字和小数表达式,其结果的精度与该表达式的精度相同,标度为0

3. getdate 返回当前系统日期和时间

例如:select getdate() 结果:当前日期,包括日期和时间

Select datepart(month,getdate()) 结果:12

Select datename(month,getdate()) 结果:December

4.host_id 返回当前Adaptive Server客户端机操作系统进程ID,

host_name 返回当前Adaptive Server客户端机操作系统进程名称

例如:select host_name(),host_id()

结果:ylzhang,1365

Ylzhang是计算机名,1365是Adaptive Server客户端进程的进程ID

5.identity_burn_max 跟踪给定表的identity burn最大值,此函数只返还只而不进行更新。

例如:select identity_burn_max(‘tablename’)

注意:返回的是自增列的最大ID,如果这个表没有自增列,则返回为null

6.index_col 返回指定表或视图中带索引的列的名称。

7.index_clolrder 返回列的顺序

8.isnull 当expression求值为null时,用expression中的值替代它。

例如:select isnull(name,’zhang’) from titles 结果:name列为null值的替换为zhang

9.is_sec_service_on 安全服务启用时返回1;否则返回0

is_sec_service_on(sevurity_service_nm)

其中:sevurity_service_nm是安全服务的名称。

查找安全服务的有效名称,用select * from syssecmechs

例如:select is_sec_service_on(“unifiedlogin”)

10.left 返回字符串最左侧指定数目的字符。

left(character_expression,integer_expression)

例如:select left(‘123456789’,5) 结果:12345

select left(‘123 456789’,5) 结果:123 4

返回名字的前5个字符,select left(name,5) from user

11.len 返回指定字符串表达式(不包括尾随空白)的字符数(而不是字节数)

len(string_expression)

例如:select len(‘中国’) 结果:2

注意: char_length,char,len之间的区别

12.lower 返回指定表达式的等值小写表达式(就是把大写字符变成小写)

例如:select lower(‘12FEC张’) 结果:12fec张

13.ltrim 返回指定的表达式,其中删去了前导空白。

例如:select ltrim(‘ aa’) 结果:aa

select ltrim(‘aa ’)+’cc’结果:aa cc

select ltrim(‘a a’) 结果: a a

注意:只删去了前导空白

14.max 和 min 返回列中最大值和最小值

例如:select max(price) from computer

select min(price) from computer

15.month 返回一个整数,该整数表示月份。

例如:select month(getdate()) 结果:12

同理: select day(getdate()) 结果:15

select year(getdate()) 结果:2006

16.mut_excl_roles 返回有关两个角色之间互斥性的信息。

mut_excl_roles是一个系统函数。如果系统安全员将role1定义为与role2互斥的角色,或直接有role2所包含的角色,则mut_excl_roles返回1,如果不是则返回0。

17.newid 根据提供的参数生成两种不同格式的、人工可读的全局唯一ID

Newid([optionflag])

例如:select newid()

select newid(0)

select newid(0x0)

select newid(1)

可以通过newid()来参数随机器数

Select id from tablename order by newid()

这时你会发现,每次执行,排序都不一样。

18. next_identity 检查下一个insert可用的下一个标识值。(就是下一个自增的ID)Next_identity(tablename)

例如:select next_identity(‘tbl_zone’) 结果:返回tbl_zone表中下一个要自增的id

注意:如果这个表不是自增,则返回null

19.object_id 返回指定对象的对象ID,object_name是返回对象ID的对象名称。Obeject_di(object_name)

object_name是数据库对象(表、视图、过程、触发器、缺省值或规则)的名称。

例如:select object_id(‘TBL_ZONE’) 结果:437573566

同样 select object_name(437573566) 结果:TBL_ZONE

注意:对象ID存储在sysobjects的ID列中。

1.pi 返回常量3.1415926535897936。

例如:select pi()

注意:一般计算圆的时候用。

2.power 返回求指定数字的给定次幂所得的值。

Power(value,power)

例如:select power(2,4) 结果:16

select power(3,0) 结果:1

3.proc_role 返回关于是否已授予用户指定角色的信息。(通俗点就是你登陆后看看你是否有某些角色,有则返回1,否则返回0)

例如:检查用户是否已被授予系统安全员角色:

Select proc_role(‘sso_role’)

检查用户是否已被授予系统安全员角色:

Select proc_role(‘oper_role’)

4.rand 返回0-1之间的随机值,该值是使用指定的源值来生成的。

例如:select rand()

5.replicate 返回将指定表达式重复特定次数所形成的字符串。

Replicate(char_expr|uchar_expr,integer_expr)

例如:select replicate(‘ab’,3) 结果:ababab

6.reverse 返回其字符逆转排列的指定字符串。

Reverse(expression|uchar_expr)

例如:select reverse(‘我的电脑’) 结果:脑电的我

7.right 返回表达式最右边具有指定字符数的部分。

Right(expression,integer_expr)

例如:select right(‘abcdefj’,3) 结果:efj

8.role_contain 当role2包含role1是返回1

role_contain(‘role1’,’role2’)

9.role_id 返回已指定名称的角色的系统角色ID

role_name 返回已指定系统角色ID的角色名称

role_id(‘role_name’)

role_ name’(role_id)

例如:返还sa_role的系统角色ID

Select role_id(‘sa_role’) 结果:0

Select role_name(0) 结果:sa_role

10.round 返回指定数字舍入到给定的小数位后所得的值。round(number,integer)

例如:select round(123.4545,2) 结果:123.4500 Select round(123.45,-2) 结果:100.00

Select round(123.506,2) 结果:123.510

注意:如果integer为负数且超过number的有效数,则为0

11.rtrim 返回删去尾随空白的指定表达式。

Select rtrim(char_expr|uchar_expr)

例如:select rtrim(‘ aa’) 结果: aa

select rtrim(‘ aa ’) 结果: aa

select rtrim(‘a a ’) 结果:a a

注意:它只删去末尾的空白,其他的不会删去

12.show_role 显示登陆的当前启用的角色。

例如:select show_role()

13.show_sec_services 列出可供会话使用的安全服务。

例如:select show_sec_services()

注意:如果没有,则为null

14.sign 返回指定值的符号:+1(正)、0或-1(负)

Sign(numeric)

例如:select sign(123) 结果:1

select sign(0) 结果:0

select sign(-123) 结果:-1

15.sin返回指定角的正弦。

例如:select sin(45)

16.space 返回由指定数量的单字节空格所组成的字符串。Space

例如:select “aa”+space(5)+”dd”结果:aa dd

17.square 返回表示为float的指定值的平方值。

Square(numeric)

例如:select square(price) from titles

Select square(5) 结果:25.0

注意:次函数等同于power(muneric_expr,2),但是它返回float类型而不返回int类型。

18.sqrt 返回指定数字的平方根。

例如:select sqrt(100) 结果:10

1.str 返回指定数字的等值字符。

Str(approx_numeic[,length[,decimal]]).

例如:select str(125.36 , 5,2) 结果为125.3

125.36是数字

5是位数,小数点也算

2是小数点后面的位数,默认为0

注意:位数和小数点后面的位数的规律,试试就明白了。

2.str_replace 将第一个字符串表达式中出现的第二个字符串表达式的所有实例替换为第三个表达式。

例如:select str_replace(‘aaabbbccc’,’bb’,’mm’) 结果:aaammbccc

3.stuff 返回通过以下方法形成的字符串:从一个字符串中删除指定数量的字符,然后将这些字符替换为另一个字符串。

例如:select stuff(‘abcdefg’,2,3,’mm’) 结果:ammefg

2 是开始删除字符的位置

3是删除字符数

mm是替代

如:select stuff(‘ssssss’,2,3,null)

select stuff(‘ssssss’,2,3,’’)

4.substring 截取字符串中的一部分.

Substring(expression,start,length)

例如: select substring(‘abcdef’,1,3) 结果:abc

5.sum 返回值的总和

Sum([all|distinct] expression)

注意: distinct在这里的用法

6.suser_id 从syslogins表中返回服务器用户的ID号

suser_name 从syslogins表中返回服务器用户的名称

Suser_id([server_user_name])

例如:select suser_id()

或 select suser_id(‘lei’)

select suser_name()

或 select suser_name(4)

7.syb_quit 终止连接.

例如:终止在其中执行该函数且返回错误消息的连接.

Select syb_quit()

8.tempdb_id 报告给定会话分配到的临时数据库.

9.upper 返回指定字符串的等值大写字符串.

例如:select upper(‘ab’) 结果: AB

https://www.doczj.com/doc/5c13423260.html,ed_pgs 返回表或索引所用的页数.

https://www.doczj.com/doc/5c13423260.html,er 返回当前用户的名称.

例如:select user 结果:dbo

https://www.doczj.com/doc/5c13423260.html,er_id 返回数据库中指定用户或当前用户的ID号

user_name 返回数据库中指定用户或当前用户的名称.

例如:select user_id()

或select user_id(‘lei’)

或select user_name()

或select user_name(4)

13.valid_name 如果指定字符串不是有效标识符,则返回0,否则返回非0数字

14.vaild_user 看是否是一个数据库中的有效用户或别名.

例如:select valid_user(4)

15.year 返回年

例如:select year(‘12/20/2006’) 结果:2006

1.将两个字符串并置,用+

例如:select '神秘'+'狭' 结果:神秘狭

2.between……and 查询两个值之间的数字.

例如: ……where column1 between 5 and 100

3.1+null 结果:null

4.expression is null等效expression=null

expression is not null等效expression!=null

5.要让一个字符串延续到屏幕的下一行,可用\

6.临时表以#开头.

例如:create table #zone(zone_id int)

7.如果是关键字,就不能用于表名或列名,必须用分隔标识符(加双引号)才能插入.在创建或引用分隔标识符之前,必须执行set quoted_identitfier on

例如: set quoted_identitfier on

Create table “time”(“id” int)

set quoted_identitfier off

8.database.ower.table_name.column_name(数据库名称.所有者名称.表名称.列名称),

也可以database..table_name

9.确定标识符是否有效:select valid_name(“object_name”)

10.使用sp_rename重命名用户对象.

11.like 匹配,not like 是不匹配

例如: ….where like “415%”

使用通配符

12.% 任何包含0或者多个字符的字符串

例如:查询以568开头的电话号码

Select number from authors where number like ‘568%’

13._ 任何单个字符

例如:查询以”zhang”结尾的六个字母的姓名

Select name from users where name like “_zhang”

14.[] 指定范围或集合内的任何单个字符

例如:查询以”zhang”结尾并以M和Z间的任意单个字符开头的姓名

Select name from users where like “[M-Z]inger”

查询”zhang”和”Zhang”的姓名

Select name from users where name like “[Zz]hang”

15.[^] 不在指定范围或集合内的任何单个字符

例如:返回以zhang开头且后面一个字符不是y的姓名

Select name from users where name like “zhang[^y]%”

16.escape子句作为转义字符.

例如:like ”6@%” escape”@”表示6%

1.alter database 增加分配给数据库的控件量

alter database mydb on mydate =50--(在数据库设备mydb 上加50m数据空间,) log on mylog=10 --(在数据库设备mylog上加10m日志空间,)

2.alter role 定义角色之间的互斥关系;为角色添加,删除和更改口令;指定口令有效期,最小口令长度以及知道角色允许的最大登陆尝试失败次数.

例子1:将intern_role和specialist_role定义为互斥:

alter role specialist_role add exclusive membership intern_role

例子2:在成员资格级别和激活级别将角色定义为互斥

alter role specialist_role add exclusive membership intern_role

alter role intern_roleadd add exclusive activation surgeon_role

例子3:添加口令到现有的角色

alter role doctor_role add password “zhang”

例子4:从现有角色删除口令

alter role doctor_role drop password

例子5:锁定角色physician_role

alter role physician_role lock

例子6:解锁角色physician_role

alter role physician_role unlock

例子7:将physician_role允许的最大登陆尝试失败次数改为5

alter role physician_role set max failed_logins 5

例子8:将现有角色physician_role的最短口令长度设置为5个字符

alter role physician_role set min password length 5

例子9:替换所有角色的最短口令长度

alter role “all overrides” set min password length-1

例子10 删除所有角色的最大登陆失败次数的替换值

alter role “all overrides” set max password length-1

注意:一般为角色更改口令,请先删除口令,在添加口令.

3.alter table 向表添加新列;删除或修改现在的列;添加,更改或删除约束;更改现有表的属性;启用或禁用表上的触发器;

例子1:向表中添加一列

alter table tablename add manager_name varchar(50) null

例子2: 向表中添加identity列

alter table tablename add user_id numeric(19,0) identity

例子3 向表中添加主键约束.

alter table autors add constraint au_identification primary key(au_id,au_lname,au_fname)

例子4 在authors表上创建索引,设置reservepagegap值为16,在索引中为每15个分配的页留一个空白页

alter table authors

add constraint au_identification

primary key(au_id,au_lname,au_fname)

with reservepagegap=16

例子5 删除au_identification约束

alter table tablename

drop constraint au_identification

例子6 删除authors表中phone列的缺省约束.如果列允许为空值,则没有指定值时会插入空值.如果列不允许空值,则不指定列的插入,操作将失败

alter table authors

replace phone default null

例子7:为表创建4个新的页链.将表分区后,现有的数据会保存在第一个分区,但是新的行会插入到所有这5个分区中

alter table tablename partition 5

例子8 并置表的所有页链,然后将其重新分区为6个分区

alter table tablename unpartition

alter table tablename partition 6

例子9 将tablename表的锁定方案更改为数据行锁定

alter table tablename lock datarows

例子10 将非空列author_type 添加到缺省值为primary_author的authors表

alter table authors

add author_type varchar(20)

default “primary_author” not null

例子11 从表中删除列

alter table tablename

drop id,name

例子12 将表authors的city列修改为默认值为空值的varchar(30)

alter table authors

modify city varchar(30) null

例子13 将stores表中的name列修改为非空.

alter table stores

modify name not null

例子14 修改titles表的type列,并将titles表的锁定方案从所有页锁定更改为数据行锁定

alter table titles

modify type varchar(10)

lock datarows

例子15 将titles表的notes列由varchar(50),将缺省值由空更改为非空,并知道exp_row_size值为40

alter table titles

modify notes varhcar(50) not null

with exp_row_size=40

例子16 添加,修改和删除一列,然后在同一查询中添加另一列.改变锁定方案,并指定新列的exp_row_size值.

alter table titles

modify city varhcar(50) null

drop notes

add sec_advance money default 1000 not null

lock datarows

with exp_row_size=40

1.begin…..end 包含一系列SQL语句,以使控制语言可以影响整个组的性能.

例如: if(select avg(number) frim zone)<18

Begin

…………..

………….

………..

end

2.begin transaction 标记用户定义的事务的起点.

例如:为insert语句显示的开始一个事务

Begin transaction

Insert into publishers(pub_id) values(“445”)

Commint transaction --关闭事务

注意:要取消所有或部分事务,请使用rollback命令.rollback命令必须出现在事务内;不能在提交事务后在回退事务.

3.break 导致从while循环中退出.

例如: while aa>12

Begin

…………

If bb>5

Break

Else

Continue

End

注意: Break是中断while,而continue是中断本次循环.

4.case 可以用于任何可以使用值表达式的情况.

例子1:把表查询结果中name为C的改为fff

SELECT id ,

case

when name='C'

then 'fff'

else name

end

from A

注意: end不能忘, else name如果不要,其他的name都为null了

5.close 使游标失效

例子: close cursor_name

6.coalesce 它的作用和isnull一样

Coalesce(expression,expression1[,expression1]….)

例子: select id ,coalesce(name,yun,'dddd'),isnull(name,'yun') from A

说明:字段name为null,就用yun的字段代替,如果yun的字段也为null,用’ddd’代替

7.create database 创建数据库

Create database mydb on mydate =50--(在数据库设备mydb 上加50M数据空间,) log on mylog=10 --(在数据库设备mylog上加10M日志空间,)

8.create default 创建默认值,如果插入时没有显示地提供要插入列中的值,则指定一个值.

例子1;定义一个缺省值,绑定在列中

Create defulat phonedflt as “unknown”

Sp_bindefault phonedflt , “authors.phone”

1.create function 通过将SQL包装加入到JAVA静态方法中,创建用户定义的函数.可返回一由该方法定义的值.

2.create index 创建表中一个或多个列的索引.

例子1.在authors表的au_id列上创建名为au_id_ind的索引:

Create index au_id_ind on authors(au_id)

例子2.在authors表的au_id列上创建名为au_id_ind的唯一聚族索引:

Create unique clustered index au_id_ind on authors(au_id)

例子3 在authors表的au_id和title_id列上创建名为ind1的索引

Create index ind1 on authors (au_id, title_id)

3.create plan 创建抽象计划

例子为指定查询创建抽象计划.

Create plan “select * from titles ”“(t_scan titles)”

4.create procedure 创建存储过程或可以带一个或多个用户提供的参数的扩展存储过程. 例子

create procedure showed(@name varchar(100))

as

select * from authors where name=@name

下面是执行showid的可接受的语法形式”

Execute showed titles

或execute showed @name=”tiltes”

5.create role 创建用户定义角色.指定允许用于所创建的特定角色的口令有效期,最小口令长度和最大失败登陆次数.

例子1 创建名为doctor_role的角色

Create role doctor_role

例子2. 创建名为doctor_role且口令为haha的角色

Create role doctor_role with passwd “haha”

例子3 设置intern_role的有效期

Create role intern_role , with passwd “haha”, passwd ecpiration 6

例子4 设置intern_role的最大失败登陆次数

Create role intern_role , with passwd “haha”, max failed_logins 20

例子5 设置intern_role的最短口令长度

Create role intern_role , with passwd “haha”, min passwd length 0

6.create rule 为特定列或属于用户定义数据的任意列指定可接受值的域并创建访问规则. 例子1 创建一个名为limit的规则,该规则限制advance的值小于1000

Create rule linit

As @advance <1000

例子2 创建名为pubid_rule的规则,该规则限制pub_id的值为13,14或15

Create rule pubid_rule

As @pub_id in (‘13’,’14’,’15’)

1.disk mirror 创建在主设备发生故障时立即接替运行得软件镜像。

2.disk refit 通过sysdevices中的信息重建master数据库的sysusages和sysdatabases系统表

3.disk reinit 重建master数据库的sysdevices系统表。将disk reinit作为过程的一部分使用,以便恢复master数据库。

4.disk remirror 在磁盘镜像因镜像设备故障而停止或者被disk unmirror命令临时禁用后重新启动它。

5.disk resize 动态添加Adaptive Server使用的设备的大小。

例子:disk resize

Name = “test_dev”

Size = “10M”

6.disk unmirror 挂起用disk mirror命令启动的磁盘镜像,以允许硬件维护或硬件设备的更改。

7.drop database 删除一个或多个数据库。

8.drop default 删除用户定义的缺省值。

例子:删除数据库中用户定义的缺省dat edefault

Drop default datedefault

9.drop function 删除SQL函数

10.drop index 从当前数据库的表中删除索引。

例子:从authors表中删除au_id_ind

Drop index authors. au_id_ind

11.drop procedure 删除存储过程。

例子:删除存储过程shoind

Drop procedure shoind

12.drop role删除用户定义角色

13.drop rule 删除用户定义的规则。

14.drop table 从数据库中删除表定义及其所有的数据、索引、触发器和权限。

15.drop trigger 删除触发器。

16.drop view 从当前数据库中删除一个或多个视图。

Sybase数据库教程

系统维护员培训手册 1 第一章 Sybase概述 第一节 C/S简介 CS(Client/Server)结构是传统的网络集中共享式数据库的扩充。在CS结构中,应用程序(客户)在工作站上运行应用程序进行数据处理,服务器程序运行于服务器上以响应客户的请求并维护数据的一致性。CS结构可以显著减少不必要的网络数据传输。 一、CS和文件服务器的区别是: 文件服务器没有计算能力,它不了解数据本身的任何东西,它仅仅用于存储数据,文件服务器可以想象成一台用很长的电缆(网络)与用户计算机相连的硬 盘驱动器。CS的工作方式是客户端发出一个请求(命令),通过网络传送到服务 器,服务器根据这个命令进行计算,把计算后的结果传送给客户端。而文件服务 器的工作模式是工作站从服务器上取得应用程序运行,进行数据处理时到服务器 取数据,然后从所有的数据记录中找到要处理的内容,进行运算,最后才得出结 果。 二、客户/服务器模型的主要特点如下: ●客户进程和服务器进程可以由LAN或广域网(WAN)联结。它们都可以在同 一台计算机上运行。 ●用于在客户和数据库服务器之间通信的基本语言是通过结构化的查询语言 (Structured Query Language)实现的。 三、发展过程 C/S结构是数据库发展的一个过程,跟随计算机的计算机系统结构由集中式主机系统发展到客户/服务器系统以及现在分布式的多层网络系统,数据库系 统的体系结构也大体经历了三种发展形式: ●集中式的主机/终端结构 主机/终端系统中主机运行DBMS及数据库应用,终端仅提供数据显示。 ●两层的客户/服务器结构 在这种结构中,服务器执行数据库的存储逻辑和事务逻辑,客户端执行应用逻辑并提供用户界面。他们从系统上进行划分,均衡负载。 ●三层(或多层)体系结构 这种体系可以看作是客户/服务器结构和Internet(国际互联网络)以及Intranet应用体系结构相结合的产物,它是对客户/服务器的继承和发展。 Internet应用是浏览器/WEB服务器/数据库服务器的三层体系结构。 四、Client/Server模式概述

sybase replication使用技巧

SYBASE Replication Server高级使用指南 复制服务器技巧汇总__常用配置 1. 复制分区partition越大越好,大小应该为数据流量的6倍,一般可以设为2G. 2. 最大线程数应该大于连接数(数据库和复制服务器)乘以2加3。 3. 复制内存内存加大。 注意事项 1. ASE要建立专门用于复制的sa用户,而且账号密码要和复制服务器的一模一样。 2. _RSSD_prim账号缺少sa权限,导致RSM不能访问复制服务器的配置。 3. RSM客户端置需要配置ID_SERVER及它的数据库地址。 SYBASE复制服务器技巧汇总__常用操作 1. 迁移复制服务器 a) 将相关数据库(RSSD数据库及复制数据库)的复制代理断开sp_stop_rep_agent db_name(ASE) 或是suspend log transfer from {data_server.database|all} b) quiesce队列admin quiesce_force_rsi; 使用admin quiesce_check检查 c) 删除正在使用的复制分区drop partition partition_name; d) 停掉相关的复制服务器(或是挂起路由)suspend route to replication_server; e) 迁移复制数据库以及RSSD数据库,服务器名称要和以前的一致, 重新建立复制服务器的ASE用户,修改连接配置文件。 f) 对RSSD数据库以及复制数据库的第二截断点归零use db_name go sp_stop_rep_agent db_name go dbcc settrunc(‘ltm’,’ignore’) go use RSSD_db_name go rs_zeroltm data_server,database; go use db_name go dbcc settrunc(‘ltm’,’valid’) go g) 增加复制分区add partition partition_name on ‘device_name’with size size; h) 重建队列Rebuild queues go Igore loss from data_server.database [to data_server.database|replication_server]; i) 恢复复制代理sp_start_rep_agent db_name;(ASE) 2. 建立默认错误处理类。 SYBASE复制服务器技巧汇总__故障处理 1. 队列阻塞。 如果DSI线程DOWN掉的话,连续执行resume connection to data_server.database skip transactoin跳过阻塞事务,直至DSI线成能够正常工作。 否则,监测队列是否正常。使用admin who,sqt;察看info 列此数值形如******x:y,******x 即为此队列号,如果是负数,则说明此队列事务有问题, 需要破置队列。y=1,代表是处队列,y=2,代表是入队列。(???不确定???) 使用admin who,sqm;察看First Seg.block Last Seg.block 以及Next read, 三个列的数值打效应为fast SYBASE复制服务器技巧汇总__常用命令 1. 察看运行状态admin health; admin who; admin who_is_down; admin who_is_up; admin who,sqm; admin who ,sqt; 2. 察看复制服务器配置rs_config(ASE); rs_helpdb(ASE); rs_helperror(ASE); rs_helpdb(ASE);

快速入门指南

快速入门指南 Sybase 软件资产管理 (SySAM) 2

文档 ID:DC01050-01-0200-01 最后修订日期:2009 年 3 月 版权所有 ? 2009 Sybase, Inc. 保留所有权利。 除非在新版本或技术声明中另有说明,本出版物适用于 Sybase 软件及任何后续版本。本文档中的信息如有更改,恕不另行通知。此处说明的软件按许可协议提供,其使用和复制必须符合该协议的条款。 要订购附加文档,美国和加拿大的客户请拨打客户服务部门电话 (800) 685-8225 或发传真至 (617) 229-9845。 持有美国许可协议的其它国家/地区的客户可通过上述传真号码与客户服务部门联系。所有其他国际客户请与 Sybase 子公司或当地分销商联系。升级内容只在软件的定期发布日期提供。未经 Sybase, Inc. 事先书面许可,不得以任何形式或任何手段(电子的、机械的、手工的、光学的或其它手段)复制、传播或翻译本手册的任何部分。 Sybase 商标可在位于 https://www.doczj.com/doc/5c13423260.html,/detail?id=1011207 上的“Sybase 商标页”进行查看。Sybase 和列出的标记均是 Sybase, Inc. 的商标。 ?表示已在美国注册。 Java 和基于 Java 的所有标记都是 Sun Microsystems, Inc. 在美国和其它国家/地区的商标或注册商标。 Unicode 和 Unicode 徽标是 Unicode, Inc. 的注册商标。 本书中提到的所有其它公司和产品名均可能是与之相关的相应公司的商标。 美国政府使用、复制或公开本软件受 DFARS 52.227-7013 中的附属条款 (c)(1)(ii)(针对美国国防部)和 FAR 52.227-19(a)-(d)(针对美国非军事机构)条款的限制。 Sybase, Inc., One Sybase Drive, Dublin, CA 94568.

sybase基本操作

SYBASE基本操作 一、启动数据库 1、ps -ef | grep dataserver 查看sybase进程, Sybase有数据库进程和备份进程, 若都没看到则需要手动启动,进入sybase安装目录$sybase/ASE-15_0/install 启动数据库和备份进程 # ./startserver -f RUN_LINUXMZC --启动数据库RUN_”SYBASENAME”#./startserver -f RUN_LINUXMZC_BS --启动备份服务“RUN_backupserve” 启动后也可用#showserver查看 2、登录数据库 数据库启动后使用#isql -Usa -P -S 登录数据库, 注:sybase默认只有一个用户sa,默认密码NULL

二、sybase基本操作 1、查询数据库版本 >select @@version >go 注:isql中的命令都需要go来执行,如果发现写错了,可以用reset重新输入 2、查询数据库信息 >sp_helpdb 显示所有数据库和基本信息 3、查寻空间使用情况 >use basename >go >sp_spaceused >go

4、性能监控 使用指令sp_sysmon 格式:>sp_sysmon “hh:mm:ss”,model_name,表示监控指定时间指定模块,缺省为所有模块 1、内核管理(kernal ) 10、任务管理(taskmgmt) 2、应用管理(appmgmt) 11、监视器访问SQL的执行(monaccess) 3、数据缓存管理(dcache) 12、并行查询管理(parallel) 4、ESP管理(esp) 13、过程缓存管理(pcache) 5、索引管理(indexmgmt) 14、恢复管理(recovery) 6、锁管理(locks) 15、事务管理(xactmgmt) 7、内存管理(memory) 16、磁盘I/O管理(diskio) 8、元数据高速缓存管理(mdcache ) 17、工作进程管理(wpm) 9、事务概要(xactsum) 18、网络I/O管理(netio)

SQL常用命令汇总

SQL常用命令汇总 SQL是结果化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据定义、数据操纵和数据控制四个部分。SQL简洁、功能齐全,已成为目前应用最广的关系数据库语言。 一、SQL的发展及标准化 1.SQL的发展 SQL是当前最为成功、应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段; (1)1974年,由Chamberlin和Boyce提出,当时称为SEQUEL(Structured English Query Language); (2)1976年,IBM公司对SEQUEL进行了修改,并将其用于本公司的SYSTEM R关系数据库系统中; (3)1981年,推出了商用关系数据库SQL/DS,并将其名字改为SQL,由于SQL功能强大,简洁易用,因此得到了广泛的应用; (4)今天,SQL广泛应用于各种大型数据库,如Sybase,INFORMIX,SQL Server,Oracle,DB2,INGRES等,也用于各种小型数据库,如FoxPro,Access等。 2.SQL标准化 随着关系数据库系统和日益广泛,SQL的标准化工作也在紧张地进行着,二十多年来已制订了多个SQL标准:SQL-86,SQL-89,SQLL2和SQL-99。 二、SQL的基本概念 1.基本表——一个关系对应一个表。基本表是独立存在的表,不是由其他的表导出的 表。 2.视图——是一个或几个基本表导出的表,是一个虚拟的表。它本身不独立存在于数 据中,数据库中只存放视图对应的数据,这些数据仍存放在导出视图的基本表中。 当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。 三、SQL的主要特点 SQL有如下几个特点。 (1)SQL是类似于英语的自然语言,简洁易用。 (2)SQL是一种非过程语言。 (3)SQL是一种面向集合的语言。 (4)SQL既是自含式语言,又是嵌入式语言;可独立使用,也可以嵌入到宿主语言中。 (5)SQL是数据库查询(Query)、数据定义(Definition)、数据操纵(Manipulation)和数据控制(Control)四种功能。 创建数据表 语法格式:CREA TE TABLE<表名>(<列定义>[{,<列定义>|<表约束>}]) 例:create table s(xingm c(8),xueh c(8),chengj c(3)) 结果:

Sybase数据库管理手册

Sybase数据库管理手册

目录 Sybase 数据库安装说明 (3) 一、安装前准备工作 (3) 二、安装主程序 (3) 三、安装后打补丁 (6) 四、重启后创建Sybase服务 (6) 五、字符集设置 (11) 六、还原HIS数据库 (13) 七、Sybase服务不能启动时 (19) 八、配置参数 (21) 客户端安装说明 (29) 一、安装客户端 (29) 二、配置客户端 (29) Sybase 数据库的备份、恢复 (29) Sybase 数据库维护 (30) Sybase数据常用命令的使用 (31)

Sybase 数据库安装说明 一、安装前准备工作 ●先将Sybase安装文件夹(ASESERVER)拷贝到要安装的机器硬盘上。(此文件夹下文中都 用d:\Tooll\ASESERVER) ●将Sybase的补丁拷贝到要安装的机器硬盘上 ●处理安装时的字符集问题(防止安装时出现乱码) 对于不同的Windows版本的操作系统Sybase都要进行字符集文件的修改,下面是不同 二、安装主程序 ●进入安装程序 完成安装前的准备工作后就可以双击D:\TOOLS\ASESERVER\setup.exe文件进入Sybase安装程序。

●确定安装目录 选择安装目录是不要选择有磁盘阵列或做了Raid的盘,也不要选择操作系统所在的磁盘。 ●选择安装组件 ●安装总结

在总结处要注意所需空间是不是小于可用空间,如果不是则要将安装的磁盘清除一些文件来达到所需空间。单击“下一步”进行安装进行状态 ●安装进度 ●录入注册信息

●重启提示 完成安装后提示是否重新启动机器,按否不重启机器。然后将补丁拷贝到安装目录。 三、安装后打补丁 将\ASE补丁\ebf11574\Server目录下的所有文件拷贝到Sybase安装目录下例如安装目录为C:\Sybase 将C:\sybase\shared-1_0\jre1.2.2\lib\font.properties.zh.NT5.2文件名改名,操作系统与文件名的配对关系参考安装前准备工作的配对关系。 四、重启后创建Sybase服务 ●重启机器后进入Sybase安装程序确定提示按“否”后进行Windows操作系统 ●进行操作系统的运行窗口录入CMD进入Dos操作界面

sybase for linux

下面是linux下的一个makefile ,cpre 用的是SYBASE客户端,可以参考一下。 .SUFFIXES:.ccs .SUFFIXES:.cpre CC=cc -g USERDIR=/root WORKDIR=.. SYBASEDIR=${SYBASE}/${SYBASE_OCS} LIBDIR=-L$(USERDIR)/lib -L$(WORKDIR)/lib -L$(SYBASEDIR)/lib INCLDIR=-I$(USERDIR)/include -I$(WORKDIR)/include -I$(SYBASEDIR)/include CPRE=$(SYBASEDIR)/bin/cpre -d -l -y $(INCLDIR) CFLAGS=-O -DUNIX LIBS = -lct -lcs -lsybtcl -lcomn -lintl -rdynamic -ldl -lnsl -lm USERLIBS = EDF= help: @echo Please input filenames that will be make following make command @echo 'syntax: make ' #all: battst .c: @echo Compiling and link the program $@ $(CC) -o $@ $< $(CFLAGS) $(INCLDIR) $(LIBDIR) $(LIBS) $(USERLIBS) @echo "---$@ compiling and link done." mv $@ $(USERDIR)/bin .cpre: $(CPRE) $< /var/cics_bins/makefile/add.sh $*.c >$*.tmp mv $*.tmp $*.c $(CC) -o $@ $@.c $(CFLAGS) $(INCLDIR) $(LIBDIR) $(LIBS) $(USERLIBS) # rm $*.c mv $@ $(USERDIR)/bin @echo "---$@ compiling and link done." ~ ~

MS SQL入门基础

MS SQL入门基础:SQL Server 2000 简介 SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft 与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT 系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 则较专注于SQL Server在UNIX操作系统上的应用在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用 1.2 SQL Server 2000 的新特性 SQL Server 2000 全面扩展了SQL Server 7.0 的性能可靠性和易用性使它成为一个杰出的数据库平台可用于大型联机事务处理数据仓库以及电子商务等 SQL Server 2000 的新特性主要有以下内容 1.2.1 数据库增强 SQL Server 2000 引进了数据库和服务器增强功能以及其它一些新的特性 1 XML Extensible Markup Language 扩展标示语言支持 关系数据库引擎可以返回XML 文档数据XML 数据可以用于插入删除和更新数据XML 是扩展标示语言Extensible Markup Language 的英文缩写XML 语言可用于描述一个数据集的内容以及数据如何在Web 页中显示或输出到某个设备XML 和HTML Hypertext M arkup Language 超文本链接标示语言都源自SGML Standard General Markup Langua ge 标准通用标示语言SGML 是一个非常复杂庞大的语言在网络上发布数据时很难完全使

SybaseIQ数据备份恢复命令

1引言 本文档描述如何对Sybase IQ数据库的数据进行备份、恢复、迁移等操作指导,供售前和售后人员使用。本文档是售前和售后人员向运营商推广、使用本功能最重要的参考依据。2术语和缩略语 2.1术语 2.2缩略语 3简介 Sybase IQ(或Multiplex IQ)的数据备份包括Sybase IQ 数据(IQ存储)和基础SQL Anywhere 数据库(Catalog 存储)备份。其备份方式分为BACKUP/RESTORE命令的全库备份/恢复,以及数据导入/导出应用(重定向、insert…location方式的数据迁移)。本文档将分别描述三种方式操作步骤。 4Sybase IQ的数据备份、恢复 4.1 全库备份、恢复 全库备份、恢复采用BACKUP/RESTORE命令(必须具有dba权限),此种方法仅备份已提交的数据。借助提交和自动检查点开始备份。备份程序在此时确定要备份哪些数据。该程序备份截至此检查点时间为止的数据库当前快照版本。在此检查点操作发生时尚未提交的所有数据不会纳入备份范围。 BACKUP 语句 说明在一个或多个存档设备上备份Sybase IQ 数据库。 语法BACKUP DATABASE [ backup-option… ] TO archive_device [ archive-option... ] …[ WITH COMMENT string ] 参数backup-option: { READWRITE FILES ONL Y | READONL Y dbspace-or-file [, … ] } CRC { ON | OFF } ATTENDED { ON | OFF } BLOCK FACTOR integer

sybase资料

关于Sybase ASE数据库的license以及试用版过期的问题的解决方案 作者:佚名来源:中国自学编程网收集整理发布日期:2009-02-18 当用户从Sybase官网上下载了ASE15.0.2以后,如果选择了安装Express Edition或者Developer Edition,基本上不会碰到什么问题,除了有些功能受限以下。 但大多数可能选择了Enterprise Edition for Evaluation类型,即企业版试用。都会碰到这样的问题,即一个月以后,license过期,无法启动server。于是很郁闷,可能大部分人,会选择卸载再重新安装一遍,这样当然没问题,只是,太浪费时间了。 有一段时间,我自己甚至也以为只能这样去解决了。 实际上不是,通过在sybase论坛上与一些有经验的人交流以后,发现,是可以切换的。 首先,有三种安装类型: 1. Express Edition,完全免费,不用缀述。 2. Developer Edition,没有使用期限限制,用于开发和测试。似乎不能商用,无所谓了。我也是刚得知。以前好像是有60天的限制。 3. Enterprise Edition,它是有试用时间的限制的。是30天。 只要能找到切换就OK了。 你的解决方法就是,把企业版的license切到开发版或者Express版。怎么切? 先看看目录$SYBASE/SYSAM-2_0/licenses下边的三个文件: SYBASE_ASE_DE.lic SYBASE_ASE_XE.lic 第一个文件里边有这样的内容: PE=DE;LT=DT 第二个文件里有这样的内容: PE=XE;LT=CP

Sybase数据转成SqlServer数据库的步骤

Sybase数据转成Sql Server数据库的执行步骤: 目前我们采用Sql Server 的DTS工具实现数据的交换操作。 一、前期准备:在目标数据库形成跟原数据库完全相同的表结构。 1,需要将客户备份的sybase数据库恢复到我们sybase帐套中,形成原数据库。 2,在Sql Server数据库中建立目标数据帐套,利用帐套维护工具建立目标数据库,选择模块与原数据库所用模块相同即可,初始年度与原数据库的初始年度也要相同。 创建完数据库后,如果原数据库有历史年度数据,则在目的数据库上的相应模块也做年结操作形成相应的历史年度表。主要通过察看数据库中那些表带有历史年度后缀,那些模块需要年结需要根据具体数据库设置。 3,删除所有用户表中的记录。 删除步骤,登陆原数据库,根据下面语句形成删除表记录sql。 select 'truncate table '+name +' go' from sysobjects where type = 'U' order by name 把执行结果复制到EditPlus中去,在go前增加换行符,形成删除表记录的sql语句。 4,在目标数据库中执行这些删除记录的sql语句,将目标数据库的相应记录删除。 并注意查看出错语句,主要是表不存在的情况下报的错误。 并决定那些表可以不需要,记录下不需要的表。 针对原数据库: 5,利用报表优化工具做临时表清除工作,以便节省交换时间。 二、数据导入操作: 利用DTS工具做数据交换操作。 执行步骤如下: 1,运行DTS,按照下一步执行即可。 2,配置数据源,我们这里是sybase数据库做数据源。 数据库类型选择sybase ASE OLE DB Provider 3,点击属性,配置数据库连接。数据源中输入syboledb,一定确保之前利用备份恢复工具(DBGhost.exe)联接过sybase数据库一次。 4,配置目标数据库这里选择sql server数据库。 5,选择复制表和视图。 6,选择表和视图。把不需要交换的表前面不需要选择即可,另外视图也不需要选择。 7, 8,执行 9,最后看以下执行结果,找到出错原因。 10,针对每一条出错的表,定位错误原因,然后单独把出错的表再导入一次。 注意问题: 由于sybase数据库大小写区分,而sqlserver数据库默认不区分大小写,有可能会出现复制数据违反唯一索引的问题。 解决方式有二: 删除通过大小写区分不一致的记录。 创建的sql server 实例也选择区分大小写。

Sybase IQ 快速入门

Sybase? IQ 快速入门 文档 ID: DC01147-01-1510-01 最后修订日期: 2009 年 6 月 主题页码 简介2 演示数据库2 表名2 创建和使用 IQ 演示数据库3 将 IQ 演示数据库转换为 Multiplex8 启动 IQ 代理9 转换为 Multiplex10 添加 Multiplex 服务器(手动方法)24 创建 Multiplex 服务器定义25 同步并启动 Multiplex 服务器(手动方法)27 添加临时存储文件(手动方法)28 装载数据29 版权所有 2009 Sybase, Inc. 保留所有权利。Sybase 商标可在https://www.doczj.com/doc/5c13423260.html,/detail?id=1011207处的 Sybase 商标页面中进行查看。Sybase 和列出的标记均是 Sybase, Inc. 的商标。? 表示已在美国注册。Java 和基于 Java 的所有标记都是 Sun Microsystems, Inc. 在美国和其 它国家/地区的商标或注册商标。Unicode 和 Unicode 徽标是 Unicode, Inc. 的注册商标。提到的所有其它公司和产品名均可能是与之相关 的各自公司的商标。

简介 2 Sybase IQ 简介 本文档介绍如何创建和查询 IQ 演示数据库。您可以在选择的任何目录中 创建任意数量的该数据库副本,并且可以在任何时间重新创建该数据库。您也可以使用演示数据库创建并使用 IQ Multiplex 。IQ Multiplex 是多个 通过共享磁盘集群访问同一 IQ 存储的 IQ 服务器。为了进行演示,您可 以使用由多个 IQ 服务器共享的文件系统文件。此设置模拟 IQ Multiplex 环境。若要查询或更新数据库,可以使用 Interactive SQL (dbisql ) 或 Sybase Central ,安装 IQ 服务器时会提供这两者。Sybase 建议您不要直接从此文档中剪切并复制命令;已添加了用于格式 设置的额外字符。手动键入命令,或者将其剪切并粘贴到记事本或 vi 中,对其进行编辑以删除任何格式设置字符,然后将其复制并粘贴到命令行中。演示数据库 演示数据支持虚构的体育用品公司。对于 IQ 15.1 版,iqdemo 数据库已 经更新。表名 如果要从早期版本升级,请参见下表以获取 iqdemo 数据库中当前表名的 列表。使用此表可更新脚本或应用程序。

Sybase数据库与sql server的区别

Sybase数据库与sql server的区别 目前目前大型的数据库都采用oracle,中小型的用sqlServer,建议用sqlserver或者mysql。 sybase与sqlsrver的内在区别就是: 1.Sybase没有用户自定义函数。 2.判断fetch成功的全局变量是@@SQLstatus,而不是@@fetch_status。 3.没有set,赋值与查询通用select。 4.没有top,返回N行要使用set rowcount N / set rowcount 0 5.raiserror 22009 " "--> raiserror( ' ',16,1) 6.游标一定要在过程中使用,不能单独在查询中使用。 7.销毁游标要加cursor关键字.如:deallocate cursor cur_tmp 8.没有bigint类型。 9.create table #t(id numeric(12,0) identity not null),不支持int型,且不能设置起始值和步进值。 10.不能alter一个存储过程,要先drop掉再create。 11.没有len函数,使用char_length或datalength等效。 12.通过sysindexes中的doampg列可返回某表的行数,rowcnt(doampg) 。 13.convert函数没有120格式(yyyy-mm-dd hh:mm:ss),需要

使用 select convert(char(4),datepart(year,getdate()))+ '- '+right ('0'+convert(varchar(2),datepart(month,getdate())), 2)+'-'+right('0'+convert(varchar(2),datepart(day,ge tdate())),2)+ ' '+convert(char(10),getdate(),8) 14.charindex不能从被查找字符串中按指定位置查找某字符串。 15.不能使用rtrim函数将数值型转为字符型。 16.没有cast函数,数值型到字符型转移使用select convert(varchar(10),123) 17.没有replace函数。 18.没有left函数,只有right函数。 19.不支持在字段上加[]。 20.select语句中不支持变量累加,例如:select @SQL=@SQL+colname from tablename 21.在过程及视图中系统会自动将select * 变为select 列1,列2... 22.varchar最大支持16384个字节(SQLServer中是8000) 。 23.Sybase不支持表变量。 24.Sybase不支持instead of触发器。 25.Sybase没有调度(注:定时执行某个操作) 。

Sybase 常用命令介绍(chenyi)

1.1 常用命令介绍 1.1.1 数据库操纵命令 1.1.1.1 ISQL 语法举例:isql –Usa –P –SSYSMIS {> filename{< filename}} 说明:-U:用户名;-P:口令;-S:SERVER名。SERVER名必须在$HOME/interfaces中有定义,其作用相当于PC CLIENT端的sql.ini,其维护工具是$HOME/install/sybinit,相当于PC CLIENT端的sqledit.exe。注意在使用sybinit定义SERVER时,IP地址在/etc/hosts文件中须有定义(如“192.9.202.201 hb1”),否则在定义过程中会有警告信息,但不影响使用。 1.1.1.2 dbcc checkdb 作用:检查数据库状态。 语法举例:dbcc checkdb(DATABASE NAME)。 说明:一般情况下该命令与dbcc checkalloc、dbcc checktable 配合使用,以检查数据库的使用情况。根据命令显示结果进行维护操作,该命令的输出显示一般为以下文本:

…… Checking syslogs The total number of data pages in this table is 225. *** NOTICE: Space used on the log segment is 0.44 Mbytes, 0.88%. *** NOTICE: Space free on the log segment is 49.56 Mbytes, 99.12%. Table has 5168 data rows. …… Checking csszh_csdj The total number of data pages in this table is 1. Table has 16 data rows. …… DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role. 若显示结果与上述有异,则结合其它dbcc命令确定具体是什么错误,报错时会显示Msg号,根据Msg号,采取相应的解决方法。(参见第错误!未定义书签。页“错误!未找到引用源。”。) 1.1.1.3 dbcc checkalloc 作用:检查数据库空间分配。 语法举例:dbcc checkalloc(DATABASE NAME{,fix})。 说明:一般情况下该命令与dbcc checkdb、dbcc checktable、dbcc tablealloc配合使用,以检查数据库的使用情况。根据命令显示结果进行维护操作,该命令的输出显示一般为以下文本: TABLE: sysindexes OBJID = 2 INDID=1 FIRST=24 ROOT=32 SORT=0 Data level: 1. 26 Data pages allocated and 4 Extents allocated. Indid : 1. 1 Index pages allocated and 1 Extents allocated. TOTAL # of extents = 5

SYBASE数据库日志详解

SYBASE数据库日志详解 开发者在线 https://www.doczj.com/doc/5c13423260.html,更新时间:2007-09-13作者:https://www.doczj.com/doc/5c13423260.html, 来 源:https://www.doczj.com/doc/5c13423260.html, 本文关键词:Sybase数据库日志 我们知道,SYBASE SQL Server用事务(Transaction)来跟踪所有数据库的变化。事务是SQL Server 的工作单元。一个事务包含一条或多条作为整体执行的 T-SQL语句。每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。事务日志自动记录每个用户发出的每个事务。日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。 一、SYBASE SQL Server 如何记录和读取日志信息 SYBASE SQL Server是先记Log的机制。每当用户执行将修改数据库的语句时,SQL Server就会自动地把变化写入日志。一条语句所产生的所有变化都被记录到日志后,它们就被写到数据页在缓冲区的拷贝里。该数据页保存在缓冲区中,直到别的数据页需要该内存时,该数据页才被写到磁盘上。若事务中的某条语句没能完成,SQL Server将回滚事务产生的所有变化。这样就保证了整个数据库系统的一致性和完整性。 二、日志设备 Log和数据库的Data一样,需要存放在数据库设备上,可以将Log和Data存放在同一设备上,也可以分开存放。一般来说,应该将一个数据库的Data和Log存放在不同的数据库设备上。这样做有如下好处:一是可以单独地备份 Backup 事务日志;二是防止数据库溢满;三是可以看到Log的空间使用情况。 所建Log设备的大小,没有十分精确的方法来确定。一般来说,对于新建的数据库,Log的大小应为数据库大小的30%左右。Log的大小还取决于数据库修改的频繁程度。如果数据库修改频繁,则Log 的增长十分迅速。所以说Log 空间大小依赖于用户是如何使用数据库的。此外,还有其它因素影响Log大小,我们应该根据实际操作情况估计Log大小,并间隔一段时间就对Log进行备份和清除。 三、日志的清除 随着数据库的使用,数据库的Log是不断增长的,必须在它占满空间之前将它们清除掉。清除Log 有两种方法: 1.自动清除法 开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log 而不做备份。

Cognos基础知识及操作入门

1引言 1.1 培训目标和目的 基于Cognos进行分析模块的开发相关知识进行培训,包括Framework Manager、Report Studio、Transformer、Analysis Studio和Cognos安全。 1.2 主要内容 1. 功能介绍和基本架构 2. Framework Manager介绍 3. Report Studio介绍 4. Transformer介绍 5. Analysis Studio介绍 6.Cognos安全介绍 2功能介绍和基本架构

Cognos 8 的功能组件分为服务器端和客户端两部分,服务器端是基于SOA构架的Cognos 8服务,以Web Service的方式接受和处理用户请求;客户端程序是开发人员使用,用于构建CUBE和Cognos 8元数据的工具,它们分别是:TransFormer 和FrameWork Manager。用户制作、浏览业务分析都是基于浏览器的,不需要安装插件或客户端,在浏览器端,用户可以访问以下组件:Report Studio、Analysis Studio、Query Studio。 3Framework Manager Framework是元数据模型工具。元数据模型是对数据源的业务描述。数据源可以是数据库或者Cognos Cube数据源。我们的分析数据存储在数据集市里,数据集市采用的是Sybase IQ,Cognos 8 连接Sybase IQ是通过ODBC方式。 3.1 发布数据库模型 1.建好后的数据库视图 2.建好的“业务视图”

3.创建一个Package,如图

4. 发布完成后,你就可以通过浏览器用Report Studio 、Analysis Studio 访问这个Package 作分析了。 3.2 发布Cube 1. 打开 Cognos FrameWork ,新建一个Project 2. 选择Data Source 下一步

Sybase数据库的备份与恢复

Sybase数据库的备份与恢复 1.实验目的: (2) 2.实验平台及环境: (2) 3.实验内容: (2) 4. 实验步骤: (2) ◇用企业管理器或存储过程创建一个备份设备,手工命令Sybase 做各种备份。 (2) ◇任意修改数据库(包括删除),然后将某个手工完成的备份恢复,并检查数据库状态是否和备份前一样。这一过程要对所有种类的备份都做一遍。 (9) ◇为“学生选课”设置一个备份计划,要求每当CPU空闲时采用多种方式进行数据库备份。 (13) ☆方法一: (13) ☆方法二: (13) ☆方法三: (15) 5. .................................................................. 遇到的问题及解决方案. (16)

1.实验目的: 1.理解Sybase的数据备份和恢复机制。 2.掌握Sybase的数据备份和恢复的基本概念,例如备份方式(增量备份和完全 备份)、备份介质(文件或者设备)等等。 3.掌握备份和恢复的实际操作,能够备份和将备份恢复,特别是能够恢复到一个新的 数据库中。 4.理解备份策略或者备份计划的概念,实际书写脚本进行自动备份。 2.实验平台及环境: 操作系统 安装软件:ASE 15-0 3.实验内容: ◆手工创建数据库的各种备份并恢复到原数据库和新(是否为空都可以)数据库中。 ◆编写T-SQL脚本实现自动备份计划。 4. 实验步骤: 1、用企业管理器或存储过程创建一个备份设备,手工命令Sybase做各种备份。 第一步:设置允许更新,并修改服务器名 Sybase数据库一开始无法进行备份操作,需要在master中设置,设置代码如下:sp_configure 'allow update',1 go update master..sysservers set srvnetname='LENOVOPC_BS' where srvname='SYB_BACKUP' go 注:srvnetname为旧服务器名称srvname为新服务器名称,但这个新服务器是 安装时取的服务器名,不是随意取的 即首先修改权限为“允许更新”,再把master中的备份服务器名改为和现在所使用的服务器名相同:

Sybase常用维护命令

Sybase是基于SQL(Structured Query Language)的著名关系模型数据库系统,是世界上最流行的DBMS 软件之一;它能在多种计算机硬件平台上运行,并能通过连网形成分布式数据库环境; SQL Server是指运行在主机上,能提供SQL语言查询、修改或控制数据库中内容等操作的一个服务进程,形象地把它理解为一个数据库服务器;一般地数据库服务器有Data Server 和 Backup Server两个服务进程组成。数据库就是一系列表格(关系)所描述的客观世界中事实的集合;Sybase中的系统数据库基本包括有:master、model、sysprocs、 tempdb,其它为用户库。 Sybase Adaptive Server Enterprise 12.5是Sybase公司开发的智能型数据库。 现场Sybase数据库系统结构 1.1 参考资料 《SYBASE 数据库维护快速参考手册 Version 1.1》,SYBASE公司出版 2 基础操作、配置和维护 2.1 安装Sybase 12.5 包括安装前环境配置、安装过程说明、安装成功测试、卸载等。 (详细请参考V1.00》) 2.2 访问SQL Server 在安装配置好的Sybase服务器,可以通过以下操作开始访问SQL Server进行数据的查询和控制等操作:? % isql –U用户名–S服务名 password: //该处输入该明户的密码 【2.3 Sybase的启动和关闭】 2.3.1 启动Sybase数据库 在$SYBASE/ASE-12_5/install目录下执行startserver命令启动Sybase数据库,如: %$SYBASE/ASE-12_5/install/startserver -f RUN_服务名 -主 %$SYBASE/ASE-12_5/install/Startserver –f RUN_服务名_BAKUP -备份 2.3.2 关闭Sybase数据库 使用isql命令登录Sybase数据库系统,在查询sysservers表查看可关闭的服务,如 isql–U sa -S joli Password: 1> select * from sysservers 2> go 一般需要关闭的服务有:系统备份服务、系统主服务 在isql提示里先关闭系统备份服务(默认为SYB_BACKUP),再关闭主服务(默认可以不输入主服务名),如: 1>shutdown SYB_BACKUP 2>go 1>shutdown 2>go

相关主题
文本预览
相关文档 最新文档