- 博客(14)
- 收藏
- 关注
原创 独特的deadlock(仅update语句也能造成死锁)
最近遇到了一个看上去很奇怪,分析起来很有意思的死锁问题。这个死锁看上去难以理解。而分析过程中,又使用了很多分析SQL Server死锁的典型方法。记录下来整个分析过程还是很有意义的。 问题重现步骤:经过提炼,问题重现的步骤非常简单,在SQL 2008上可以很容易地重现。 1. 首先,创建一张表格,上面有一个clustered index,两个non-cluste
2013-02-28 16:16:05 6529
原创 表变量特点
表变量特点 第一、表变量不一定常驻内存。在内存压力大的时候,属于表变量的页可以被放入tempdb。以下是一个例子描述表变量在tempdb中所占空间。第二、其次,如果您创建了一个表变量,它会像一个常规的DDL操作一样将元数据储存在系统目录中第三,事务处理和锁定语句。表变量不能参与事务处理和锁定,以下示例说明了这一点如果回滚的事务里涉及表变量,表变量的数据不
2013-02-28 10:56:25 897
原创 察看当前实例每个DB的table大小信息/察看某个DB中包含table大小信息
-- =====================================================-- Script for:-- table size information query.-- single database, can Ignore schema name-- =================================================
2013-02-26 09:23:50 488
转载 获取SP运行花费时间最长前10位/TSQL语句已经运行了多久
获取SP运行花费时间最长前10位SELECT TOP 10 a.object_id, a.database_id,schema_name(obj.schema_id) as 'prc schema', OBJECT_NAME(a.object_id, database_id) 'proc name',a.cached_time, a.last_execution_time, a.tot
2013-02-19 15:26:15 710
转载 查看buffer pool使用
--1.Buffer Pool的内存主要是由那个数据库占用 :SELECT cast(count(row_count)*8.0/1024.0 as decimal(12,2)) as cached_pages_mb,CASE database_id WHEN 32767 THEN 'ResourceDb' ELSE db_name(database_id)
2013-02-17 16:57:47 622
转载 Tempdb怎么会成为性能瓶颈?
我曾经遇到过这样一个性能问题。一个客户反映,他的SQL Server会在某一段时间里,突然变得非常慢。最后他不得不重启SQL Server服务。而重启以后,问题就消失了。客户在出现问题的那段时间里,收集了主要的系统动态管理视图,以及性能监视器里和SQL Server有关的那些计数器。顺便说一句,这台服务器有16颗CPU。 Sys.dm_exec_requests是检查SQL Server性
2013-02-17 16:11:19 435
转载 如何监测谁用了SQL Server的Tempdb空间?
Tempdb系统数据库是一个全局资源,供连接到 SQL Server 实例的所有用户使用。在现在的SQL Server里,其使用频率可能会超过用户的想象。如果Tempdb空间耗尽,许多操作将不能完成。下面是3种 常见的 tempdb使用对象用户对象(user_object_reserved_page_count)用户对象由用户显式创建。这些对象可以位于用户会话的作用域中
2013-02-17 15:17:27 426
转载 事务复制清除的故障分析
众所周知,创建分发数据库时,清除事务复制(Transactional Replication cleanup)会在分发服务器上,通过下列SQL Server 代理任务来清除不再需要的数据:代理程序检查代理程序历史记录清除事务清除分发清除历史记录清除过期订阅清除分发清除代理程序在所有订阅服务器都接收到事务后,分发清除代理程序(Distribution clean up: distri
2013-02-16 13:50:46 886
转载 别使用嵌套事务
公司之前一直存在一个规范,就是禁止嵌套事务的使用,一直不太明白为什么,试了下应该是无法控制回滚,今天看大牛的博客发现,问题远远不只如此。具体总结下来是以下3个问题1、内层事务回滚,只能回滚全部事务,无法控制单一事务回滚2、内层事务提交后,回滚外层事务,也会把内层提交了的事务一起回滚3、因为2的原因,只要整个事务不完全提交,日志空间都无法被释放 嵌套事务可不会像
2013-02-05 11:40:42 18952 1
转载 SQL Server 2012中的ColumnStore Index尝试
看到大牛写得一篇文章,转载过来自己学习下,后续升级到2012后就可以应用了。先说结论,这个技术对更改不频繁或者,仅周期性更改,且对性能要求很高得表,确实有很大得提升。简介 费了半天劲,今天终于装好SQL Server2012了。按照MSDN中的新特性资料(Columnstore Indexes for Fast DW QP SQL Server 11)。尝试
2013-02-05 10:12:15 482
原创 关于count(*)得 非聚合索引 性能大于聚合索引性能研究
今天在回答别人问题得时候发现了这样一个问题经过以下 语句测试后 ,发现确实如此set statistics io on select COUNT(*) from dbo.tb_Info with(index(PK_tb_Info))select COUNT(*) from dbo.tb_Info with(index(IX_TB_INFO))set statistics
2013-02-04 17:07:34 807
原创 创建索引注意事项
1、索引不能创建在超过900bytes的字段上若强行创建会提示Warning! The maximum key length is 900 bytes. The index 'IX_test_tony_col1' has maximum length of 1000 bytes. For some combination of large values, the insert/update
2013-02-02 15:08:51 2586
原创 SQL产生BCP脚本
WITHDATA AS(SELECT publication_name = N'', publisher = N'ServerSource.DBName.dbo.TBName', subscriber_server = N'ServerTarget', subscriber_database = N'DBName', subscriber_schema = N'dbo
2013-02-02 14:14:22 584
原创 print超过长度的字符串
在SSMS中print会自动截断varchar超过8000.nvarchar(4000)的字符串而select出的结果粘贴又会去掉换行符,可读性很低,下面脚本将解决这个问题。declare @var varchar(max)=''declare @tb table(id int identity(1,1), Dsc nvarchar(max))select @var='
2013-02-01 09:39:40 1410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人