如何检查SQL Server tempdb瓶颈
---确认分配瓶颈
SELECT session_id,wait_duration_ms,resource_description
from sys.dm_os_waiting_tasks
WHERE wait_type LIKE 'PAGE%LATCH_%' AND
resource_description LIKE '2:%'
--查询tempdb中当前引发最多分配和回收操作
SELECT TOP 10
t1.session_id
,t1.request_id
,t1.task_alloc
,t1.task_dealloc
,t2.plan_handle,
(SELECT SUBSTRING(text,statement_start_offset/2+1,
(CASE WHEN statement_end_offset=-1
THEN LEN(CONVERT(NVARCHAR(max),text))*2
ELSE statement_end_offset
END -statement_start_offset)/2)
from sys.dm_exec_sql_text(sql_handle)
) AS query_text
from
(SELECT session_id,request_id
,SUM(internal_objects_alloc_page_count+user_objects_alloc_page_count) AS task_alloc
,SUM(internal_objects_dealloc_page_count+user_objects_dealloc_page_count) AS task_dealloc
from sys.dm_db_task_space_usage GROUP BY session_id,request_id) AS t1,
sys.dm_exec_requests AS t2
WHERE t1.session_id=t2.session_id AND
(t1.request_id=t2.request_id) AND
t1.session_id>50
ORDER BY t1.task_alloc DESC
CREATE TABLE t1(c1 INT PRIMARY KEY,c2 INT ,c3 CHAR(8000))
Go
CREATE TABLE t2(c4 INT ,c5 CHAR(8000))
DECLARE @i INT
SELECT @i=0
WHILE(@i<6000)
BEGIN
INSERT INTO t1 VALUES(@i,@i+1000,'hello')
INSERT INTO t2 VALUES(@i,'there')
SET @i=@i+1
END
SELECT c1,c5 from t1 INNER HASH JOIN t2 ON t1.c1=t2.c4
ORDER BY c2
--查看该查询计划
SELECT * from sys.dm_exec_cached_plans
WHERE plan_handle=0x06000700B764A91BB8610911000000000000000000000000
--确认是否有临时表正缓存一个存储过程
相关文档:
1、在安装有SQL SERVER 2000的电脑上打开“事件探查器”,操作如图:
2、在“事件探查器”中新建一个跟踪:文件/新建/跟踪
3、输入连接服务器的秘密,注意是U8的数据服务器,可以根据实际修改IP地址。
4、更改过滤设置:可以在【文件/属性】打开这个对话框,但是要更改,首 ......
今天安装sql server2000.系统是XP professional。首先先安装sqlserver企业版的,只能安装客户端;然后安装sqlserver开发版,就 被挂起,因此网上搜罗相关信息。
1、 若出现挂起后,可按下列操作进行,本人已经试用过:
在运行窗口输入regedit,打开注册表编辑器,在HKEY_LOCA ......
DBCC memorystatus
--查询缓冲区池消耗的内存总量包括AWE
SELECT
SUM(multi_pages_kb+virtual_memory_committed_kb+shared_memory_committed_kb+
awe_allocated_kb) AS [Used by BPool, kb]
from sys.dm_os_memory_clerks WHERE type='MEMORYCLERK_SQLBUFFERPOOL'
&nb ......
现在用MSSQL的地方太多了,有很多做技术的个人电脑上也安装SQL专业版,因为它用的多,但用的人都知道,SQL有个超级用户sa,此用户默认情况下,它指派给固定服务器角色 sysadmin,并不能进行更改。一般懂点安全问题的技术人员都会把这个密码修改掉,但修改再复杂的密码都不是绝对安全的,一些暴力破解软件,菜鸟都会用。
那 ......
常见并发并发一致性问题包括:丢失的修改、不可重复读、读脏数据、幻影读(幻影读在一些资料中往往与不可重复读归为一类)。
2.2.1.1 丢失修改
下面我们先来看一个例子,说明并发操作带来的数据的不一致性问题。
考虑飞机订票系统中的一个活动序列:
甲售票点(甲事务)读出某航班的机票余额A,设A=16.
乙售票点(乙事务 ......