如何取的SYBASE中正在执行的SQL语句

 我来答
day忘不掉的痛
推荐于2016-10-28 · 知道合伙人数码行家
day忘不掉的痛
知道合伙人数码行家
采纳数:62646 获赞数:223939
本人担任公司网络部总经理多年,有充足的网络经验、互联网相关知识和资讯。

向TA提问 私信TA
展开全部
经过观察发现,总是有一个进程会长时间的占用日志空间,无法释放,只能杀掉该进程,为了找到该进程是哪个客户端程序,故整理如下方法来获取该进程正在执行的SQL语句。
通过返回的SQL语句,定位了故障程序,解决了一个大bug
第一步,打开sybase central,在左边视图中,双击数据库服务器名称,然后双击“登录”文件夹,在右边的视图中选择“增加登录”。新建一个“登录”,输入登录名:ts,设置口令,然后单击下一步,直到完成。
第二步,在新建好的登录名上单击鼠标右键,选择“属性”选项。
第三步,在属性窗口中选择“角色”页,点击“增加角色”按钮。
第四步,在弹出窗口中选中sa_role和sybase_ts_role两个角色(按住ctrl键来多选),点击“确定”按钮保存设置。
第六步,输入语句select * from syslogshold,如果有记录返回,则记住第三个字段(spid)的值。
第七步,输入SQL语句:dbcc traceon(3604)dbcc sqltext(上一步中第三个字段的值)执行,输出结果即为该进程正在执行的SQL语句。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式