sybase数据库里面用什么命令来执行一个字符串表示的sql语句呢

sybase数据库里面用什么命令来执行一个字符串表示的sql语句呢,第1张

sybase数据库里面用什么命令来执行一个字符串表示的sql语句呢 5

经过观察发现,总是有一个进程会长时间的占用日志空间,无法释放,只能杀掉该进程,为了找到该进程是哪个客户端程序,故整理如下方法来获取该进程正在执行的SQL语句。

通过返回的SQL语句,定位了故障程序,解决了一个大bug

第一步,打开sybase central,在左边视图中,双击数据库服务器名称,然后双击“登录”文件夹,在右边的视图中选择“增加登录”。新建一个“登录”,输入登录名:ts,设置口令,然后单击下一步,直到完成。

第二步,在新建好的登录名上单击鼠标右键,选择“属性”选项。

第三步,在属性窗口中选择“角色”页,点击“增加角色”按钮。

第四步,在d出窗口中选中sa_role和sybase_ts_role两个角色(按住ctrl键来多选),点击“确定”按钮保存设置。

第六步,输入语句select * from syslogshold,如果有记录返回,则记住第三个字段(spid)的值。

第七步,输入SQL语句:dbcc traceon(3604)dbcc sqltext(上一步中第三个字段的值)执行,输出结果即为该进程正在执行的SQL语句。

Sybase公司是世界著名的数据库厂家,其关系数据库产品SYBASE SQL Server在中国大中型企事业单位中拥有大量的用户。针对获取数据库相关信息也提供了对应的API,以便管理进行维护。

一.sp_spaceused 可看到数据库空间包括日志(对应数据库)

打开Sql Advantage 对话框——输入sp_spaceused(上边数据库选择要查的数据库)或直接

use your_db_name

go

sp_spaceused

go

运行!出现如下信息

Database name:数据库名称

Datebase Size:数据库空间总大小

Reserved:已分配空间

data数据:已分配空间中数据占用空间大小

index_size索引:已分配空间中index_size索引占用空间大小

unused:为已分配空间中未使用空间大小

计算关系:

reserved(已分配空间)=data+index_size+unused

剩余空间= Datebase Size(总空间)—已分配空间(resrved)

二.sp_helpdb db_name 可看到数据库占用的数据库设备device的空间信息(对应数据库设备和数据库)

打开Sql Advantage 对话框——输入sp_s helpdb db local(local为要看的数据库名字如不输入则显示所有数据库)

运行!显示如下信息:

(一).数据库方面

1. name:数据库名字

2. db_size:数据库空间大小

3. owner:数据库所有者

4. created:数据库创建时间

5. status:状态

(二).数据库设备方面

1. device_fragments:数据库设备名称

2. size:数据库占用数据库设备的空间大小 单位MB

3. usage:用法 用途

4. created:数据库占用的数据库设备的空间的创建时间

5. free kbytes :数据库占用的数据库设备的剩余空间 单位KB

6. log only free

kbytes:数据库日志设备中日志剩余空间 单位KB

注意:由于数据库创建后不一定全部占用数据库设备的所有空间,可以在以后通过增加的方法占用设备空间,因此每增加一次就会有一条数据库设备信息

计算关系:

剩余空间=所有free Kbytes(剩余KB)相加+log only

free Kbytes

数据库占用数据库设备总空间(size)=size1+size2+……..(所有相加)=数据库总空间(db_size)=

reserved(已分配空间)+剩余空间

free Kbytes(剩余KB)相加+log only free Kbytes= Datebase

Size(总空间)—已分配空间(resrved)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6629766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-25
下一篇 2023-03-25

发表评论

登录后才能评论

评论列表(0条)

保存