老尸 发表于 2015-1-16 14:09:00

使用SQL语句查询SQL中一切正在实行的命令

php本地模拟的prepare底层就是mysql_real_escape_string,所以必须得用mysql_set_character_set去设置mysql->charset,否则就存在字符集问题。在SQL中偶然候我们必要检察如今正在SQLServer实行的命令。在剖析办理器大概MicrosoftSQLServerManagementStudio中,我们能够在"办理-SQLServer日记-举动监督器"中检察。明天我们次要使用master..sysprocesses体系表来检察。

先看看sysprocesses体系表的相干信息。
sysprocesses:寄存有关在MicrosoftSQLServer实例中运转的历程的信息,这些历程能够是客户端历程或体系历程。

查询示例:
select*frommaster..sysprocesses


我们看看查询出来的列的寄义。
由于该体系表的列数对照多,我们只解说对照有效的列寄义。
spid--SQLServer历程的ID。

kpid--MicrosoftWindows线程的ID。

dbid--以后正由历程利用的数据库ID。

uid--实行命令的用户ID。假如用户数和脚色数凌驾32,767,则会溢出或前往NULL。

cpu--历程的累计占用CPU的工夫。

physical_io--历程的累计磁盘读取和写进。

memusage--以后分派给该历程的历程缓存中的页数。一个正数,暗示历程正在开释由另外一个历程分派的内存。

login_time--客户端历程登录到服务器的工夫。关于体系历程,将存储SQLServer的启动工夫。

last_batch--客户端历程前次实行远程存储历程挪用或EXECUTE语句的工夫。关于体系历程,将存储SQLServer的启动工夫。

open_tran--历程的翻开事件数。

status--历程ID的形态。比方,运转大概就寝。

sid--用户的全局独一标识符(GUID)。

nt_username--历程的Windows用户名(假如利用Windows身份考证)或可托毗连的Windows用户名。

loginame实行该历程的登录名。


如许,我们就能够查到一切实行命令的历程ID了,假如要检察该历程的详细的SQL语句,能够使用以下语句检察:
dbccinputbuffer(历程号)
比方:
dbccinputbuffer(56)


假如我们要停止(杀逝世)该历程,可使用以下语句:
kill历程号
比方:
kill70
对于insert和delete,event中包含了插入/删除的记录的所有字段的值(太爽了。。)

飘飘悠悠 发表于 2015-1-18 12:17:05

财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学工具肯定是有好处的..

莫相离 发表于 2015-1-26 16:48:56

大家注意一点。如下面的例子:

因胸联盟 发表于 2015-2-4 20:47:07

原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!

兰色精灵 发表于 2015-3-1 09:42:48

连做梦都在想页面结构是怎么样的,绝非虚言

若相依 发表于 2015-3-10 16:51:44

比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。

冷月葬花魂 发表于 2015-3-17 09:11:21

SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.

飘灵儿 发表于 2015-3-24 05:46:44

原来公司用过MYSQL自己也只是建个表写个SQL
页: [1]
查看完整版本: 使用SQL语句查询SQL中一切正在实行的命令