简要介绍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
相关文档:
POEAA中介绍了ORM中最重要的模式之一:Unit Of Work。看似简单,实现起来却非常复杂。
Hibernate完美的实现了这个模式。以下我用一系列的例子来分析Hibernate的处理机制
下面有三个例子,猜猜看Hibernate会执行几句SQL(省略事务处理代码,实体对象叫User,假设主键是自增型的)
例1:
User user = new User();
user.setN ......
1)
#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ADO\msado15.dll"
named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
#pragma warning(default:4146)
using namespace ADODB;
2)
#pragma warning(disable:4146) ......
SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。
IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的 ......
首先启动SQL SERVER的服务
连接后 在数据库上右键
选择附加。。。
点击 添加。。。
在跳出框内找到你的MDF文件位置 选中 添加进去
相同文件夹内的LDF文件自动加上
完成~~(*^__^*) 嘻嘻……
OK啦 呵呵
初学初学~希望也能帮到其他像我一样的初学者
大家一起加油吧!O(∩_∩)O~ ......
SQL Server的一些系统变量
sp_configure 'min server memory' --服务器最小内存gosp_configure 'max server memory' --服务器最大内存'gosp_configure 'index create memory'--创建索引占用的内存go--sp_configure 'min memory per query'--每次查询占用的最小内存
--获取I/O工作情况select -- @@id_bus ......