进程spid = 76 怎么会有这么多个苹果ecid查询工具

如何查询SQLServer某进程当前正在执行或其最近一次执行的SQL语句?
[问题点数:30分,结帖人liq2003]
如何查询SQLServer某进程当前正在执行或其最近一次执行的SQL语句?
[问题点数:30分,结帖人liq2003]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2004年1月 MS-SQL Server大版内专家分月排行榜第二2003年12月 MS-SQL Server大版内专家分月排行榜第二2003年10月 MS-SQL Server大版内专家分月排行榜第二2003年9月 MS-SQL Server大版内专家分月排行榜第二
2004年2月 MS-SQL Server大版内专家分月排行榜第三2003年11月 MS-SQL Server大版内专家分月排行榜第三
2004年1月 MS-SQL Server大版内专家分月排行榜第二2003年12月 MS-SQL Server大版内专家分月排行榜第二2003年10月 MS-SQL Server大版内专家分月排行榜第二2003年9月 MS-SQL Server大版内专家分月排行榜第二
2004年2月 MS-SQL Server大版内专家分月排行榜第三2003年11月 MS-SQL Server大版内专家分月排行榜第三
2005年 总版技术专家分年内排行榜第一2004年 总版技术专家分年内排行榜第一
2006年 总版技术专家分年内排行榜第六2003年 总版技术专家分年内排行榜第八
2005年 总版技术专家分年内排行榜第一2004年 总版技术专家分年内排行榜第一
2006年 总版技术专家分年内排行榜第六2003年 总版技术专家分年内排行榜第八
本帖子已过去太久远了,不再提供回复功能。Transact-SQL 参考
提供关于当前 Microsoft& SQL Server& 用户和进程的信息。可以筛选返回的信息,以便只返回那些不是空闲的进程。
sp_who&[[@login_name =]&'login']
[@login_name =]&'login'
是 SQL Server 上的用户登录名。login&的数据类型为&sysname,默认值是 NULL。如果没有指定名称,过程将报告全部活动的 SQL Server 用户。login&也可以是特定进程标识号码 (SPID)。若要返回有关活动进程的信息,请指定&ACTIVE。ACTIVE&从报告中排除等待用户下一个命令的进程。
返回代码值
0(成功)或 1(失败)
sp_who&返回包含以下信息的结果集。
列数据类型描述
系统进程 ID。
与指定 SPID 相关联的给定线程的执行上下文 ID。
ECID = {0, 1, 2, 3, ...n},其中 0 始终表示主或父线程,并且 {1, 2, 3, ...n} 表示子线程。
进程状态。
nchar(128)
与特定进程相关联的登录名。
nchar(128)
每个进程的主机或计算机名。
如果存在阻塞进程,则是该阻塞进程的系统进程 ID。否则该列为零。
当与给定的&spid&相关联的事务受到孤立分布式事务的阻塞时,该列将对阻塞孤立事务返回 '-2'。
nchar(128)
进程使用的数据库。
为此进程执行的 SQL Server 命令(Transact-SQL 语句、SQL Server 内部引擎处理等)。
sp_who&结果集将根据&spid&值按升序排序。如果是并行处理,则会为特定的&spid&创建子线程。主线程表示为&spid&=xxx,并且&ecid&=0。其余的子线程同样也是&spid&= xxx,但&ecid&& 0。这样,将会为该&spid&编号返回多行 & 它们在整个列表中放置该spid&的位置组合在一起。子线程将随机排列,但父线程除外 (ecid&= 0);在该&spid&中,父线程被首先列出。
阻塞进程(可能含有排它锁)是控制其它进程所需要的资源的进程。
在 SQL Server 2000 中,所有孤立 DTC 事务的 SPID 都被赋予值 '-2'。孤立 DTC 事务就是不与任何 SPID 相关联的分布式事务。这样,当某一孤立事务阻塞其它进程时,可由其特殊的 '-2' SPID 值来识别该孤立分布式事务。有关更多信息,请参见&。
SQL Server 2000 保留从 1 到 50 的 SPID 值以便内部使用,而 51 或更大的 SPID 值则代表用户会话。
执行权限默认授予&public&角色。
A. 列出全部当前进程
此示例使用没有参数的&sp_who&报告所有当前用户。
USE master
EXEC sp_who
下面是结果集:
spid ecid status
blk dbname cmd
---- ---- ------
------------
--- ------ -----
background sa
LAZY WRITER
LOG WRITER
background sa
master SIGNAL HANDLER
background sa
RA MANAGER
background sa
master TASK MANAGER
CHECKPOINT SLEEP
background sa
master TASK MANAGER
background sa
master TASK MANAGER
background sa
master TASK MANAGER
background sa
master TASK MANAGER
background sa
master TASK MANAGER
DOMAIN\loginX
BACKUP DATABASE
DOMAIN\loginX
BACKUP DATABASE
DOMAIN\loginX
BACKUP DATABASE
DOMAIN\loginX
master AWAITING COMMAND
DOMAIN\loginX
(16 row(s) affected)
B. 列出特定用户的进程
此示例显示如何通过登录名查看有关单个当前用户的信息。
USE master
EXEC sp_who 'janetl'
C. 显示所有活动进程
USE master
EXEC sp_who 'active'
D. 通过进程 ID 显示特定进程
USE master
EXEC sp_who '10' --specifies the process_id
阅读(...) 评论()SQL拼凑语句,一个参数的写法。试了很多次试不出来_suse10系统,关键进程被oom killer杀掉,帮忙分析一上原因_TransactionScope没自动回滚__脚本百事通
稍等,加载中……
^_^请注意,有可能下面的2篇文章才是您想要的内容:
SQL拼凑语句,一个参数的写法。试了很多次试不出来
suse10系统,关键进程被oom killer杀掉,帮忙分析一上原因
TransactionScope没自动回滚
SQL拼凑语句,一个参数的写法。试了很多次试不出来
SQL拼接语句,一个参数的写法。试了很多次试不出来。日期型:(如)
@basic_date nvarchar(10)
date='''+convert(nvarchar(10),@date,121)+'''
@name nvarchar(20)
name='''+@name+'''
数字型(int)的该怎么写呢?
------解决方案--------------------
@number int
munber='+@number+'
给你个例子:
DECLARE @sql NVARCHAR(128)
DECLARE @int INT
SET @int=100
SET @sql='select top 1 * from sys.sysprocesses where spid&'+CONVERT (VARCHAR(10),@int)
EXEC (@sql)
blocked waittype waittime
lastwaittype
waitresource
physical_io
login_time
last_batch
open_tran status
program_name
hostprocess cmd
nt_username
net_address
net_library
context_info
sql_handle
stmt_start
request_id
------ ------ ------- -------- -------------------- -------------------------------- ---------------------------------------------------------------------------------------------------------------- ------ ------ ----------- -------------------- ----------- ----------------------- ----------------------- ------ --------- ------------------------------ ------------------------------------------------------------------ -------------------------------------------------------- -------------------------------------------------------- ----------- ---------------- -------------------------------------------------------- -------------------------------------------------------- ------------ ------------ -------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------ ------------------------------------------ ----------- ----------- -----------
XE_DISPATCHER_WAIT
*/------解决方案--------------------rtrim(@number)
suse10系统,关键进程被oom killer杀掉,帮忙分析一上原因
suse10系统,关键进程被oom killer杀掉,帮忙分析一下原因系统运行过程中关键进程(ibm mq)被oom killer杀掉,导致mq无法正常工作,请帮忙分析一下是什么程序导致的。附系统/var/log/messages中出错时日志如下:
Feb 10 14:30:03 linux-gj2r syslog-ng[3766]: new configuration initialized
Feb 10 14:32:40 linux-gj2r syslog-ng[3766]: Changing permissions on special file /dev/xconsole
Feb 10 14:32:40 linux-gj2r syslog-ng[3766]: Changing permissions on special file /dev/tty10
Feb 17 14:40:33 linux-gj2r kernel: oom-killer: gfp_mask=0xd0, order=0
Feb 17 14:40:33 linux-gj2r kernel: oom-killer: gfp_mask=0xd0, order=0
Feb 17 14:40:33 linux-gj2r kernel: oom-killer: gfp_mask=0xd0, order=0
Feb 17 14:40:33 linux-gj2r kernel: oom-killer: gfp_mask=0xd0, order=0
Feb 17 14:40:33 linux-gj2r kernel: oom-killer: gfp_mask=0xd0, order=0
Feb 17 14:40:33 linux-gj2r kernel:
[&c014b70e&]
[&c014b70e&] oom-killer: gfp_mask=0xd0, order=0
Feb 17 14:40:33 linux-gj2r kernel:
[&c014b70e&]
[&c014b70e&] out_of_memory+0x48/0x16aout_of_memory+0x48/0x16a
Feb 17 14:40:33 linux-gj2r kernel:
Feb 17 14:40:33 linux-gj2r kernel:
[&c014ce1f&]
[&c014ce1f&] __alloc_pages+0x1f3/0x2a5
Feb 17 14:40:33 linux-gj2r kernel: __alloc_pages+0x1f3/0x2a5
Feb 17 14:40:33 linux-gj2r kernel:
[&c014cef6&]
[&c016115d&] __get_free_pages+0x25/0x31
Feb 17 14:40:33 linux-gj2r kernel: cache_alloc_refill+0x282/0x45e
Feb 17 14:40:33 linux-gj2r kernel:
[&c0160ed1&]
[&c0174c1f&] kmem_cache_alloc+0x41/0x4b__pollwait+0x2d/0x95
Feb 17 14:40:33 linux-gj2r kernel:
Feb 17 14:40:33 linux-gj2r kernel:
[&c011fdbc&] out_of_memory+0x48/0x16aoom-killer: gfp_mask=0xd0, order=0
Feb 17 14:40:33 linux-gj2r kernel: out_of_memory+0x48/0x16adup_fd+0x1e/0x2ea
Feb 17 14:40:33 linux-gj2r kernel:
[&c0270ac2&] tcp_poll+0x19/0x114
Feb 17 14:40:33 linux-gj2r kernel:
[&c01070cb&]
[&c0245403&] do_gettimeofday+0x1a/0x9e
Feb 17 14:40:33 linux-gj2r kernel: sock_poll+0xc/0xe
Feb 17 14:40:33 linux-gj2r kernel:
[&c01200cc&] copy_files+0x44/0x5b
Feb 17 14:40:33 linux-gj2r kernel:
[&c017458f&] do_select+0x21c/0x3b8
Feb 17 14:40:33 linux-gj2r kernel:
[&c0120750&] copy_process+0x487/0x1220
Feb 17 14:40:33 linux-gj2r kernel:
[&c0174bf2&] __pollwait+0x0/0x95
Feb 17 14:40:33 linux-gj2r kernel:
[&c01855c2&] inotify_d_instantiate+0x36/0x50
Feb 17 14:40:33 linux-gj2r kernel:
[&c0174979&] core_sys_select+0x24e/0x26c
Feb 17 14:40:33 linux-gj2r kernel:
[&c01217af&]
[&c0174f1e&] do_fork+0x83/0x175
Feb 17 14:40:33 linux-gj2r kernel: sys_select+0x9f/0x181
Feb 17 14:40:33 linux-gj2r kernel:
[&c0106f7d&]
[&c0106f7d&] do_syscall_trace+0x123/0x169
Feb 17 14:40:33 linux-gj2r kernel: do_syscall_trace+0x123/0x169
Feb 17 14:40:33 linux-gj2r kernel:
[&c01022c8&]
[&c0103d09&] sys_clone+0x28/0x2d
Feb 17 14:40:33 linux-gj2r kernel: syscall_call+0x7/0xb
Feb 17 14:40:33 linux-gj2r kernel: Mem-info:
Feb 17 14:40:33 linux-gj2r kernel:
[&c0103d09&] DMA per-cpu:syscall_call+0x7/0xb
Feb 17 14:40:33 linux-gj2r kernel:
Feb 17 14:40:33 linux-gj2r kernel: Mem-info:
------解决方案--------------------看下dmesg------解决方案--------------------内存不够了?系统貌似会随意选择一个程序作为牺牲者
TransactionScope没自动回滚
TransactionScope没有自动回滚?按书上的说法,使用TransactionScope创建事务代码块(在数据库表中插入两条记录),运行后显示违反了 PRIMARY KEY 约束 'PK_Employee'。不能在对象 'dbo.Employee' 中插入重复键。 语句已终止。
这个是预期的,但查数据表后,发现第一条insert语句成功插入了,没有回滚?
代码如下,烦劳指导一下:protected void Page_Load(object sender, EventArgs e)
if (!Page.IsPostBack)
using (TransactionScope trans = new TransactionScope())
using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["DotNetDb"].ConnectionString))
conn.Open();
cmd = new SqlCommand("insert into employee values(8,'A','设计部','北京','')", conn);
cmd.ExecuteNonQuery();
cmd = new SqlCommand("insert into employee values(8,'B','程序部','上海','')", conn);
cmd.ExecuteNonQuery();
this.Label1.Text = "OK!";
catch(Exception ex)
this.Label1.Text = ex.M
------解决方案--------------------你的代码没有事务回滚操作。
在catch里面加上
trans.Rollback()------解决方案--------------------问题的症结在这里
Complete会交将事务提交(commit),所以出错前的SQL当前就执行了,将你的代码改成下面这样就行了
protected void Page_Load(object sender, EventArgs e)
if (!Page.IsPostBack)
using (TransactionScope trans = new TransactionScope())
using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["DotNetDb"].ConnectionString))
conn.Open();
cmd = new SqlCommand("insert into employee values(8,'A','设计部','北京','')", conn);
cmd.ExecuteNonQuery();
cmd = new SqlCommand("insert into employee values(8,'B','程序部','上海','')", conn);
cmd.ExecuteNonQuery();
this.Label1.Text = "OK!";
catch(Exception ex)
this.Label1.Text = ex.M
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:SQL Server 技术公告: 如何解决死锁_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
SQL Server 技术公告: 如何解决死锁
上传于||文档简介
&&如​何​才​能​够​解​决​S​Q​L​ ​S​E​R​V​E​R​中​的​死​锁​了​,​请​看​微​软​的​技​术​公​告​。
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
你可能喜欢

我要回帖

更多关于 苹果ecid是什么 的文章

 

随机推荐