易截截图软件、单文件、免安装、纯绿色、仅160KB

读《SQL Server 2005高级管理》的一些摘要... 连载5

在T-SQL中监视进程
DBA更愿意使用T-SQL的原因是可以比“活动监视器”更加灵活地获得信息。
1.       sp_who和sp_who2
存储过程sp_who也返回当前连接数据库实例,与“活动监视器”非常类似。然而,用户可能发现自己更愿意使用未公开说明的sp_who2存储过程,因为它提供了有关每个进程的更详细信息。不管使用哪个存储过程,它们都将接受相同输入参数。
要查看当前连接服务器的所有连接,可不带任何参数运行sp_who2。这将与“活动监视器”显示相同类型信息。还可以给它传递参数active,从而只查看服务器上的活动链接。
sp_who2 ‘active’
最后,可按如下所示传递进程ID作为参数,以查看有关特定进程的详细信息,
  sp_who2  55
2.       sys.dm_exec_connections
动态管理视图sys.dm_exec_connections提供了更多信息,帮助排除SQL Server数据库引擎故障。这个DMV为SQL Server中的每个会话返回一行。因为它是DMV,所以它以表格形式显示,并让用户能够对该视图编写复杂的查询,以筛选掉不关心的内容,如下面的询查所示,它只显示执行写入操作的用户连接。
Select* from
Sys.dm_exec_sessions WHWRE is_user_process = 1
AND writes >0
除前面介绍的查看进程方法显示的信息外,在这个DMV中还可以看到用户在打开连接后检索的行数以及读取,写入和逻辑读取的次数等。在这个视图中还可以看到每个连接的设置以及最近一次发生的错误(如果存在的话)。
3.       DBCC INPUTBUFFER
   DBCC INPUTBUFFER是一个很有用的DBCC命令,让用户能够查看各个进程ID在运行哪些SQL命令。该命令只接受一个输入参数,即要对其进行诊断的连接的进程ID,如下面的查询所示。
  DBCC INPUTBUFFER(53)
  该命令返回的重要的一列是在EventInfo列中运行的事件SQL命令。如果运行一个非常大的批处理,则在查询窗口中默认只能看到前256个字符。
4.       Sys.dm_exec_sql_text
5.       有些时候可能需要表格格式的DBCC INPUTBUFFER结果。可使用动态管理函数Sys.dm_exec_sql_text来获得特定查询的文本。它可以与Sys.dm_exec_query_stats动态管理视图结合使用,已获得所有数据库中性能最差的查询。
   Sys.dm_exec_q


相关文档:

SQL Table

Table-Naming Standards
Table-naming standards, as well as any standard within a business, are critical to
maintaining control. After studying the tables and data in the previous sections, you
probably noticed that each table’s suffix is _TBL. This is a naming standard selected
for use, suc ......

大数据量下快速获取 SQL Server 数据库表记录数的方法

在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等。我们通常的做法是:select count(*) as c from tableA 。然而对于记录数巨大的表,上述做法将会非常耗时。在DELL 4400 服务器上做试验,MS Sqlserver 2000 数据库对于100万记录的简单数据表执行上述语句,时 ......

Oracle 动态SQL返回单条结果和结果集

Oracle 动态SQL返回单条结果和结果集
1. DDL 和 DML
/**//*** DDL ***/
begin
    EXECUTE IMMEDIATE 'drop table temp_1';
    EXECUTE IMMEDIATE 'create table temp_1(name varchar2(8))';
end;
/**//*** DML ***/
declare
    v_1 varchar2(8);
 & ......

sql语句优化3


 
低效: (索引失效)
SELECT … from DEPARTMENT WHERE DEPT_CODE IS NOT NULL;
高效: (索引有效)
SELECT … from DEPARTMENT WHERE DEPT_CODE >=0;
(27)总是使用索引的第一个列:
如果索引是建立在多 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号