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

简要介绍SQL Server 2008新的事件处理系统

SQL Server Extended Events(下面简称XEvent)是SQL Server 2008里新加的事件处理系统,用来取代SQL Server原
先的SQL Trace的跟踪机制。事件处理系统对一个复杂服务器系统的排错,调试是极为关键的。和SQL Server原来的事
件处理系统相比较,XEvent具有下列的优势:
  消耗更少的系统资源,更适用于在产品服务器上的排错和调试。并且每收集一个系统事件所消耗的资源都是可预测
的。
  不仅仅能收集事件数据,还能收集在这事件触发点的系统动态运行信息,例如内存,T-SQL Stack等等。
  可配置性,能够根据系统负载的需求配置所需收集的事件信息。
  下面是一个简单的例子介绍如何使用XEvent来做系统排错工作。
  当前台应用性能下降的时候,数据库管理员经常需要确定是否有资源锁的申请冲突,既所谓我们说的blocking。在
SQL Server 2008里面,你可以查询系统视图sys.dm_exec_requests,并且能发现有一些进程正在等待资源锁,比如像
下面这个结果:
  我们可以看到有个Session 54的状态是Suspended,意味着一个查询的操作被blocked, 但是我们看不到是哪一个
Query占用了资源,以及查询计划和T-SQL Stack等等,如果我有下面的XEvent Session我们就能够解决这个问题。(在
下面的例子中我们假设XEvent Session在Block发生之前已经启动好了)
  1、在查询编辑器执行下面的命令,这会创建一个XEvent Session来捕捉lock_acquired和lock_released,同时我
们还会抓下sql_text,tsql_stack和plan_handle等信息。
  -- Perform cleanup.
  IF EXISTS(SELECT * from sys.server_event_sessions WHERE name='FindBlockers')
  DROP EVENT SESSION FindBlockers ON SERVER
  GO
  -- 我们这边假设是数据库”DAA”里出了block,所以我们会使用一个predicate去过滤掉其他数据库的Block问题
  --
  DECLARE @dbid int
  SELECT @dbid = db_id('DAA')
  IF @dbid IS NULL
  BEGIN
  RAISERROR('DAA is not installed. Install DAA before proceeding', 17, 1)
  RETURN
  END
  DECLARE @sql nvarchar(1024)
  SET @sql = '
  CREATE EVENT SESSION FindBlockers ON SERVER
  --这里我们加了lock_acquired的Event,并要求返回sql_text,database_id,tsql_stack, --plan_handle和
session_id的信息
  --
  ADD EVENT sqlserver.lock_acquired
  (action
  ( s


相关文档:

sql server 表结构数据字典的sql语句

SELECT TOP (100) PERCENT
CASE WHEN a.colorder = 1 THEN d .name ELSE '' END AS 表名, CASE WHEN a.colorder = 1 THEN isnull(f.value, '')
ELSE '' END AS 表说明, a.colorder AS 字段序号, a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity')
= 1 THEN '√' ELSE '' END AS 标识, CA ......

猜猜看,Hibernate会执行几句SQL(一)

POEAA中介绍了ORM中最重要的模式之一:Unit Of Work。看似简单,实现起来却非常复杂。
Hibernate完美的实现了这个模式。以下我用一系列的例子来分析Hibernate的处理机制
下面有三个例子,猜猜看Hibernate会执行几句SQL(省略事务处理代码,实体对象叫User,假设主键是自增型的)
例1:
User user = new User();
user.setN ......

SQL Server 返回最后插入记录的id值

SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。
IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的 ......

oracle查询链接数 sql命令

select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='admin'
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='liuzhaoqing'
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='ymx'
sel ......

组合索引优化SQL续

昨天我说,用组合索引优化SQL,并不是最优的,这是因为在8亿的表上面有个等价的物化视图,这个物化视图可以代替我在之前在表上面建立的组合索引。
SQL> explain plan for SELECT distinct * from (select
  2   (PROD_9005_GDF_WK_SS_FDIM.PROD_4_NAME),
  3    PROD_9005_GDF_WK ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号