Sybase 常用命令介绍(chenyi)
sybase常用命令

常用的命令集合一、配置命令1、检查CPU使用情况:sp_sysmon "internal","model"internal是监视时间。
例如:"00:01:00"Model 是模块的名称。
包括'kernel','wpm','parallel','taskmgmt','appmgmt','esp','housekeeper','monaccess','xa ctsum','xactmgmt','indexmgmt','mdcache','locks','dcache','pcache','memory','reco very','diskio','netio'2、检查使用的最大的引擎数(CPU)sp_configure "max online engines"此命令还可以改变sybase系统使用CPU的数量。
注意:改变后需要重新启动sybase才可以使培植生效。
引擎的数量是总的CPU数量减一3、显示引擎号、状态、相关任务数以及引擎启动的时间:select engine, status, affinitied, starttime from sysengines4、显示每个用户的繁忙程度sp_reportstats5、监视配置参数的运行情况sp_monitorconfig "open objects"参数见sp_monitorconfig中的值二、权限命令1、给一个用户授所有的权限grant all to user_name2、给一个用户授对某张表的所有权限grant all on table_name to user_name3、添加一个登录(login)sp_addlogin三、TSQL使用1、统计信息更新select "print '"+name+"'"+char(10)+"update statistics "+name+ char(10) + "go"from sysobjectswhere (type='U' or type='S')order by name2、显示所有触发器的名称、建立时间SELECT USER_NAME(A.uid) 'T able Owner', 'T able Name', 'Trigger Name',CONVERT(char(10),A.crdate,101)+SUBSTRING(CONVERT(char(20),A.c rdate,0),13,7) 'Create Date'FROM sysobjects A,sysobjects BWHERE A.type='TR'AND (A.id=B.instrig OR A.id=B.updtrig OR A.id=B.deltrig)3、关于参照--生成建立已有参照的SQL语句select distinct result_sql='alter table '+rtrim(object_name(tableid))+' add constraint '+rtrim(object_name(constrid))+' foreign key('++col_name(sysreferences.tableid,sysreferences.fokey1)+substring(',',1,sysre ferences.fokey2)+col_name(sysreferences.tableid,sysreferences.fokey2)+substring(',',1,sysre ferences.fokey3)+col_name(sysreferences.tableid,sysreferences.fokey3)+substring(',',1,sysre ferences.fokey4)+col_name(sysreferences.tableid,sysreferences.fokey4)+substring(',',1,sysre ferences.fokey5)+col_name(sysreferences.tableid,sysreferences.fokey5)+substring(',',1,sysre ferences.fokey6)+col_name(sysreferences.tableid,sysreferences.fokey6)+substring(',',1,sysre ferences.fokey7)+col_name(sysreferences.tableid,sysreferences.fokey7)+') '+'references '+rtrim(object_name(reftabid))+'('+col_name(sysreferences.reftabid,sysreferences.refkey1)+substring(',',1,sys references.refkey2)+col_name(sysreferences.reftabid,sysreferences.refkey2)+substring(',',1,sys references.refkey3)+col_name(sysreferences.reftabid,sysreferences.refkey3)+substring(',',1,sys references.refkey4)+col_name(sysreferences.reftabid,sysreferences.refkey4)+substring(',',1,sys references.refkey5)+col_name(sysreferences.reftabid,sysreferences.refkey5)+substring(',',1,sys references.refkey6)+col_name(sysreferences.reftabid,sysreferences.refkey6)+substring(',',1,sys references.refkey7)+col_name(sysreferences.reftabid,sysreferences.refkey7)+')'+char(10)+"go"from sysreferences,syscolumns,sysobjectswhere sysreferences.tableid=sysobjects.idand sysobjects.id=syscolumns.idand sysobjects.type='U'order by go--生成删除参照的SQL语句select distinct result_sql='alter table '+rtrim(object_name(sysreferences.tableid))+' drop constraint '+rtrim(object_name(sysreferences.constrid))+char(10)+"go"from sysreferences,syscolumns,sysobjectswhere sysreferences.tableid=sysobjects.idand sysobjects.id=syscolumns.idand sysobjects.type='U'order by object_name(sysreferences.tableid)go4、关于表级锁--列出所有锁类型为行锁的表select name from sysobjects where type='U' and sysstat2 & 57344 = 32768 and name not like "XT% order by name--调优的方法有:调整锁类型,调整表的聚簇索引--调整表锁类型为行锁,可以提高对表的并发访问性能,但是同时也会占用更多的系统资源--修改行锁的SQL语句:alter table [table_name] lock [datarows|allpages]----调整表的聚簇索引在数据插入时,降低对表的最后一页的争用--Sybase规定一张表只能有一个聚簇索引,所以在调整聚簇索引时,要先删除原有的聚簇索引,然后再建立新的--例如将SB_ZSXX表的在ZSXH上聚簇索引修改为在NSRSBH上的聚簇索引.--删除原聚簇索引PK_SB_ZSXXdrop index SB_ZSXX.PK_SB_ZSXXgocreate nonclustered index PK_SB_ZSXX on SB_ZSXX(ZSXH)go-- 建立IDX_SB_ZSXX_NSRSBH的聚簇索引drop index SB_ZSXX.IDX_SB_ZSXX_NSRSBHgocreate clustered index IDX_SB_ZSXX_NSRSBH on SB_ZSXX(NSRSBH)go--以上的索引信息可以用sp_help命令列出5、求出指定字段等于指定值的记录数declare @lc_colname varchar(30)--declare @lc_colvalue /*定义欲求值的变量,随着变量的类型定义不同的值*/--取包含指定列名的表select distinct name=object_name(id) into #AA from syscolumns where name = @lc_colname--生成SQL,求出指定字段等于指定值的记录数select "insert into #BB select tname='"+name+"',cnt=count(*) from "+name+" where " + @lc_colname + "='" + @lc_colvalue + "'"+char(10)+"go"from #AA--运行SQL--检查记录不为零的表,既为求出的表select * from #BB where cnt>06、列出所有无主键的表select name from sysobjectswhere name not in (SELECT object_name(id)FROM sysindexesWHERE indid > 0AND status2 & 2 = 2and status & 2048 = 2048)and type="U"order by name7、关于用户登录--锁定用户select "sp_locklogin "+name+",'lock'"+char(10)+"go"from sysloginswhere name not like "%prim%"and name not like "%maint%"and name not like "sa"order by name--解除锁定的用户select "sp_locklogin "+name+",'unlock'"+char(10)+"go"from sysloginswhere name not like "%prim%"and name not like "%maint%"and name not like "sa"order by name8、为ctais_maint授权select "grant all on "+name+" to ctais_maint"+char(10)+"go" from sysobjects where type="U"9、整理出字段类型有text和image的表--text类型select distinct name=object_name(id)from syscolumnswhere type=35and id in (select id from sysobjects where type="U") order by object_name(id)--image类型select distinct name=object_name(id)from syscolumnswhere type=34and id in (select id from sysobjects where type="U") order by object_name(id)10、修改identity列的最大值--设置包含identity列的表为可直接插入记录set identity_insert [table] [on|off]--插入一个比较大的值insert into [table] values([value])。
sybase命令大全

3)执行 isql –Usa –Ppasswd –Sservername –i bcpsript –o bcpout.bat
系统安全设置命令
40、sp_addlogin loginname,passwd [,defdb][,deflanguage][,fullname][,passdexp]
34、dump database spamms to “/opt/sybase/spamms.dat” go ————备份数据库
35、load database spamms from “/opt/sybase/spamms.dat” go————还原数据库
36、online database spamms————激活数据库
51、sp_addgroup grpname go————创建用户组
52、sp_helpgroup /”grpname”go————查看用户组信息
53、sp_adduser loginname[,name_in_db[,grpname]]————创建数据库用户
54、sp_changedbowner ‘loginname’go————改变数据库的属主用户。
55、sp_changegroup groupname,name_in_db go————将用户移除此组
56、sp_dropgroup grpname go————删除用户组
sp_dropuser username go————删除数据库用户
fullname:登录用户的全名,起标示作用
passdexp:用户口令的有效期
minpwdlen:设置登录用户的最小口令长度
maxfailedlogins:设置失败登录的次数
sybase常用命令

70年代,随着大型共享数据库应用的普及,美国SYBASE公司基于当时的关系代数理论所提出的数据库关系模型,开发了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_服务名_BAKUP2.3.2 关闭Sybase数据库使用isql命令登录Sybase数据库系统,在查询sysservers表查看可关闭的服务,如isql –Usa -SjoliPassword:1> select * from sysservers一般需要关闭的服务有:系统备份服务、系统主服务在isql提示里先关闭系统备份服务(默认为SYB_BACKUP),再关闭主服务(默认可以不输入主服务名),如:1>shutdown SYB_BACKUP2>go1>shutdown2>go2.4 Sybase用户管理2.4.1 创建登录用户(login)sp_addlogin login_name,passwd[,defaultdb[,deflanguage[,fullname]]] 例子:1> sp_addlogin joli,joli,joli_db2> go2.4.2 删除登录用户(login)例子:1> sp_droplogin test2> go2.4.3 创建数据库用户(user)sp_adduser login_name[,name_in_db[,grpname]]例子:1> sp_adduser joli,joli2> go2.4.4 删除数据库用户(user)例子:1> sp_dropuser test2> go2.4.5 修改该用户为该数据库dbo例子:1>use joli_db3> sp_changedbowner joli2.4.6 查看数据库用户信息sp_displaylogin [login_name]sp_helpuser例子:1> sp_helpuser2> go1> sp_displaylog joli2> go1> sp_who2.4.7 修改用户口令如果是修改sa口令,可用sa用户登录,然后执行以下命令修改1>sp_password “旧命令| null”,”new_password”2>go如果不是sa用户,则使用希望修改口令的user登录数据库,然后执行1> sp_password 旧命令,新命令2> go2.4.8 修改系统缺省设备? 关闭创建数据库master缺省设备:? 1>exec sp_diskdefault "master","defaultoff"? 指定user_db_dev为缺省设备:? 1>exec sp_diskdefault "user_db_dev","defaulton"2.5 创建、删除、修改Sybase设备、数据库2.5.1 创建设备例子:1> disk init2> name="joli_dev",3> physname="/opt/sybase/joli/joli_dev.dat",4> vdevno=9,5> size=512006> go说明:物理设备名称为:joli_dev物理设备文件路径为:/opt/Sybase/joli/joli_dev.dat设备编号(该号不能重复)为:9大小(单位为2K)为:100M(一般为用户数据库创建一个数字设备后,再单独为用户数据库创建一个日志设备)2.5.2 镜像设备例子:1> disk mirror2> name="joli_dev",3> mirror="/opt/sybase/joli/joli_dev_mirror.dat"4> go说明:创建设备joli_dev的镜像,镜像后的镜像设备为/opt/sybase/joli/joli_dev_mirror.dat。
sybase常用命令

sybase常⽤命令⼀、SQL Advantage使⽤先点击server,⾥⾯点击connect连接到sybase服务端,开⼀个新窗⼝,写⼀些sql执⾏即可(ctrl+e)⼆、启动和关闭数据库,查看表结构1.看所有的库sp_helpdb2.使⽤⼀个库use 库名(注意⼤⼩写)3.查看⽤户下所有表名select name from sysobjects where type='U'或sp_tables4.查看表结构sp_help 表名(注意⼤⼩写)5.显⽰结果只显⽰⼀⾏set rowcount 1go输⼊你想查询的sql语句,记得最后要set rowcount 0go6.启动数据库[sybase@rosan128main install]$ pwd/opt/sybase/ASE-12_5/install[sybase@rosan128main install]$ startserver -f RUN_rosantech7.关闭数据库先要看启动了什么服务1> select srvname from sysservers2> gosrvname------------------------------SYB_BACKUPloopbackrosanljw_BSrosantech(4 rows affected)关闭备份服务1> shutdown SYB_BACKUP2> go关闭1> shutdown2> go如果关不上1> sp_lock2> goThe class column will display the cursor name for locks associated with a cursorfor the current user and the cursor id for other users.fid spid loid locktype table_id pagerow dbname classcontext------ ------ ----------- ---------------------------- ----------- ----------------- --------------- ----------------------------------------------------------0 57 114 Sh_intent 32000114 00 master Non Cursor Lock(1 row affected)(return status = 0)1> kill 57(spid只可以杀除⾃⼰会话以外的会话)杀掉再shutdown就好了如果关不动,可以⽤以下命令,慎⽤shutdown with nowait三、dml和ddl1.建表use testgocreate table table1(test varchar(10))go--仿照table1建⽴table2select * from table1 into table2go----------------------------------------------------------------------------------------如果不能仿照需要修改⼀些参数sp_helpdb db_name --查看SELECT into选项是否开启,没开需要⼿动开启gouse mastergosp_dboption test,'select into',true --(test为db_name)gocheckpointgouse testgoselect * from table1 into table2go四、⽤户管理1.创建登陆⽤户(login)1> sp_addlogin ljw1911,rosantech,test --依次为⽤户名,密码,默认数据库2> goPassword correctly set.Account unlocked.New login created.(return status = 0)2.删除登陆⽤户(login)1> sp_droplogin ljw19112> go3.创建数据库⽤户(user)1> sp_adduser ljw19112> goNew user added.(return status = 0)4.删除数据库⽤户(user)1> sp_dropuser ljw19112> go2.4.5 第六页了五、sybase ASE参数配置(1)服务器级配置使⽤存储过程sp_configure配置ASE (和oracle的show parameter很像)1. 语法sp_configure [configname[, configvalue] | group_name | non_unique_parameter_fragment]2. 作⽤查询服务器运⾏的当前值设置服务器运⾏参数⽤ "sp_configure mem" 可以查看带有mem关键字的参数的具体配置,然后⽤ "sp_configure 参数, 值" 来配置新例1. 配置内存1)数据库使⽤内存指定ASE拥有的总的共享内存⼤⼩sp_configure“max memory”,nnn(单位为2K)( HP平台推荐物理内存的75%,其他平台80%)sp_configure‘allocate max shared mem’,1(数据库服务启动时就分配内存)(推荐为1)2)配置缺省数据缓存的⼤⼩和分区sp_cacheconfig‘default data cache’,’xxxM’sp_cacheconfig‘default data cache’,’cache_partition=n’(根据CPU个数以及内存⼤⼩确定,需为2的N次⽅)3)配置存储过程的缓存⼤⼩sp_configure“procedure cache size”,nnn(单位为2K)例2. 配置CPUsp_configure‘max online engines’,n(cpu个数> 2时推荐CPU数⽬减1)sp_configure‘number of engines at startup’,n3. 其他1). number of devices (⽤户⾃⼰确定)指定ASE的可创建和打开的数据库设备的最⼤号数2). number of locks (⽤户⾃⼰确定)指定ASE可同时打开的锁的最⼤数⽬3). number of open objects (推荐8000-20000)ASE的对象描述的缓存数4)number of open indexes (推荐2000-5000)ASE的索引描述的缓存数5) stack size (如果有超长SQL和多层嵌套,推荐*2)数据库堆栈的⼤⼩6). default character set id(推荐使⽤cp936 –id 171)数据库服务器使⽤的字符集7). allow updates to system tables指定系统管理员是否可以更改系统表中的数据8)row lock promotion HWM,row lock promotion LWM⾏锁升级为表锁的阀值9)page lock promotion HWM,page lock promotion LWM页锁升级为表锁的阀值10) lock scheme缺省的对表加的锁类型(缺省为页锁)(2)数据库级配置使⽤存储过程sp_dboption更改数据库的数据库选项1. 语法sp_dboption[dbname, optname, {true | false}]2. 作⽤罗列出所有的数据库选项更改某个数据库的数据库选项3. 常见的数据库选项trunclog on chkpt⾃动清⽇志(不能再做增量备份)select into/bulkcopy允许快速BCP,selectintoddlin tran允许事务中创建对象修改完成以后可以通过sp_helpdb查看到例⼦:1> use master2> go1> sp_dboptionuserdb, "trunclog on chkpt", true2> go数据库‘userdb'的数据库选项'trunclog on chkpt'被打开。
Sybase数据库系统常用操作

Sybase数据库系统常用操作目录附录D Sybase数据库系统常用操作D-1D.1 Sybase数据库系统常用操作 D-1D.1.1 isql D-1D.1.2 bcp D-3D.1.3 showserver D-4D.1.4 startserver D-5D.1.5 shutdown D-5D.2 T-SQL语言D-6D.2.1 数据定义语句(DDL)D-6D.2.2 数据操作语句(DML)D-7D.2.3 数据控制语言(DCL)D-8D.3 Sybase数据库的备份与恢复 D-12D.3.1 系统软件故障恢复D-12D.3.2 备份数据库及其事务日志 D-12D.3.3 恢复数据库D-13D.3.4 监控事务日志空间大小方法D-14附录 D Sybase数据库系统常用操作本附录介绍Sybase系统常用操作、T-SQL语言、Sybase数据库的备份与恢复,方便用户在维护过程中进行查询。
D.1 Sybase数据库系统常用操作Sybase数据库系统为用户的管理、维护和访问SQL Server提供了下面几种常用的操作:●isql Sybase数据库提供的标准接口,也常用于批处理程序的执行●bcp用于SQL Server表和操作系统文件之间的数据的引入和引出●showserver查看SQL Server是否启动(若没有启动,可以用下面的命令startserver来启动SQL Server;若想关闭,可以用命令shutdown来关闭SQL Server)●startserver启动SQL Server●shutdown关闭SQL ServerD.1.1 isqlisql是Sybase数据库系统的一个前台工具,是基于字符的最基本的访问SQL Server数据库服务器的实用程序。
能够实现与服务器的连接,向服务器发送T-SQL命令。
所有的SQL查询语言和系统存储过程都必须在isql下执行,并可在屏幕上显示返回的结果信息。
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<password> -S<servername> 登录数据库,注:sybase默认只有一个用户sa,默认密码NULL二、sybase基本操作1、查询数据库版本>select @@version>go注:isql中的命令都需要go来执行,如果发现写错了,可以用reset重新输入2、查询数据库信息>sp_helpdb 显示所有数据库和基本信息3、查寻空间使用情况>use basename>go>sp_spaceused>go4、性能监控使用指令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)5、日志查看(1)数据库运行日志位置$sybase/ASE-15.0/install/SYBNAME.LOG记录数据库服务启动、关闭、运行、初始化等信息,可以查看error发现异常(2)事务日志每个数据库都对应一个事务日志,创建数据库时使事务日志和数据分离存放在不通设备,这样有利于备份。
Sybase的数据操纵语言

Sybase 的数据操纵语言来源:未知 作者:未知1.Select 语句 基本语法:SELECT[all|distinct]字段列表[into 表名][from 表名][where 条件表达式][group by [all]字段列表][having 筛选表达式][order by 字段列表[asc|desc]][compute 聚集函数列表[by 字段列表]]注意:Select 语句中的子句必须按照上述顺序使用。
也就是说,若该语句包括一个group by 子句和一个order by 子句where ,group by 子句必须放在order by 子句之前。
Having 子句类似于where 子句,不同之处有两点:(1)Having 子句必须结合group by 子句使用;(2)where 子句不能用聚集函数,而Having 子句可以。
下面通过实例来对Select 的通常用法加以介绍。
例1:选择所有的列,语法为select * from table_list如:select * from publishers例2:选择指定的列,语法为select column_name[,column_name]…from table_name如:select pub_id,pub_name from publishers例3:重命名查询结果中的列,语法为select column_heading= column_namefrom table_name如:select Publisher=pub_name,pub_idfrom publishers例4:select 列表中的计算值,可以对select 列表中的数值数据进行计算,下面列出了算术运算符。
符号运算+加-减/除*乘%取模如select title_id,total_sales,total_sales*2 from titles例5:使用distinct 消除重复的查询结果可选的关键词消除select 语句的结果中的重复行。
Sybase命令集

27、select name,id from syscharsets go————查看系统字符集的安装状态
28、charset –Usa –P –Spc109 binary.srt cp936————将中文字符集cp936添加到系统中。在字符集目
Sybase命令
清理日志空间
dump tran master with no_log
go
dump tran sgsovsc with no_log
go
dump tran sgsovsc with truncate_only
go
//查看当前已经安装的字符集
use master
9、sp_helpdevice go—————查看sybase的数据设备信息
select name,phyname,vdevno,low from master..sysdevices where name=’master’ go
10、use master go
disk init
name=’spamms’,
\sybase\
locales\locales.dat
找到NT,修改最后一行配置为locale = default, us_english, cp936
//bcp命令
bcp ovsc..maxspeed out D:\cc.txt -Usa -Shunter -c -t "|"
online database dbname
表数据备份恢复
bcp dbname..tablename {out|in} c:\XXX -Usa -Ppassword –Sservername -Jutf8 –c -y
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 syslogsThe 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_csdjThe 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 = 2INDID=1 FIRST=24 ROOT=32 SORT=0Data level: 1. 26 Data pages allocated and 4 Extents allocated.Indid : 1. 1 Index pages allocated and 1 Extents allocated. TOTAL # of extents = 5*************************************************************** TABLE: sysobjects OBJID = 1INDID=1 FIRST=1 ROOT=8 SORT=0Data level: 1. 28 Data pages allocated and 4 Extents allocated.Indid : 1. 1 Index pages allocated and 1 Extents allocated. INDID=2 FIRST=18 ROOT=16 SORT=0Indid : 2. 9 Index pages allocated and 2 Extents allocated. TOTAL # of extents = 7……Processed 263 entries in the sysindexes for dbid 5.Alloc page 0 (# of extent=32 used pages=109 ref pages=101)Alloc page 256 (# of extent=32 used pages=91 ref pages=89)Alloc page 512 (# of extent=32 used pages=95 ref pages=95)Alloc page 768 (# of extent=32 used pages=118 ref pages=118)Alloc page 1024 (# of extent=32 used pages=116 ref pages=116)……Total (# of extent=850 used pages=3040 ref pages=3014) in this database DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.该命令的fix选项的作用是让数据库进行自动修复,但有一条件:必须将要修复的数据库状态设置为Single User(单用户模式),具体用法如下:isql –Usa –P –SSYSMIS1> sp_dboption pubdata,’single user’,true2> go1> use pubdata2> go1> checkpoint2> go1> dbcc checkalloc(pubdata,fix)2> go使用该命令时首先要确认没有进程连着pubdata库。
1.1.1.4 dbcc checktable作用:检查表状态。
语法举例:dbcc checktable(TABLENAME)。
说明:一般情况下该命令与dbcc checkdb、dbcc checkalloc、dbcc tablealloc配合使用,该命令的输出显示一般为以下文本:Checking cssfz_sysinfoThe total number of data pages in this table is 1.Table has 29 data rows.DBCC execution completed. If DBCC printed error messages, contact a user withSystem Administrator (SA) role.1.1.1.5 dbcc tablealloc作用:检查表空间分配。
语法举例:dbcc tablealloc(TABLENAME{,fix})说明:一般情况下该命令与dbcc checkdb、dbcc checkalloc、dbcc checktable配合使用,该命令的输出显示一般为以下文本:INDID=0 FIRST=457 ROOT=457 SORT=0Data level: 0. 1 Data pages allocated and 1 Extents allocated.INDID=2 FIRST=1217 ROOT=1217 SORT=1Indid : 2. 1 Index pages allocated and 1 Extents allocated.TOTAL # of extents = 2Alloc page 256 (# of extent=1 used pages=2 ref pages=2)Alloc page 1024 (# of extent=1 used pages=2 ref pages=2)Total (# of extent=2 used pages=4 ref pages=4) in this databaseDBCCexecution completed. If DBCC printed error messages, contacta user withSystem Administrator (SA) role.1.1.1.6 sp_who作用:查看进程。
语法举例:sp_who {login name|’id’}说明:一般情况下与sp_lock 结合使用,该命令的显示结果如下:spid status loginame hostname blk dbname cmd6 recv sleep sc10 pc185_1321 0 sc10 AWAITING COMMAND7 recv sleep sc10 pc173_1583 0 sc10 update8 recv sleep sc06 pc166_1121 0 sc06 AWAITING COMMAND 9 recv sleep sc12 pc175_2207 7 sc12 10 recv sleep sc16 pc155_0751 0 sc16 14 recv sleep jt pc161_2430 0 jt AWAITING COMMAND 15 recv sleep office pc165 0 office AWAITING COMMAND (16 rows affected, return status = 0)spid :进程号;status :状态,一般为“recv sleep ”、“sleeping ”、“running ”、“runnable ”等。
Loginname :登录名。
Hostname :主机名,此项目的显示分几种类型:若不是通过应用程序联接数据库,则显示机器名(如25号进程“RD98”);若是通过应用程序联接数据库的,则显示如下字符串:“机器名_工号”(如8号进程“pc166_1121”,像16号进程显示,说明应用程序版本不对,需要从服务器上下载新程序),这样能直观的知道哪个用户在哪台机器上操作;前面有“*”号的,说明某一个操作需要2个数据库联接。
Blk:堵塞进程,若显示非0值,则说明该进程被其它进程堵塞,直到那个进程释放资源后才能继续进行,如9号进程被7号进程堵塞。
Dbname:正在使用的数据库名Cmd:执行的命令名,一般为“AWAITING COMMAND”、“INSERT”、“DELETE”、“UPDATE”、“OPEN CURSOR”、“FETCHCURSOR”、等可以加参数指定查询进程,如sp_who pubdata表示查询所有以pubdata作为loginname的进程;sp_who 8指定查询8号进程。